trace一下,连得上和连不上的区别.
看打印日志里有一行显示连的本地的.一个ok的连得远程的.
怀疑env没取到.
查看获取env的地方,从 Environment -> propertyResolver 里获取.
然后取的env.一个确实有.另一个没有.
仔细debug观察那个没有的…是因为里面有" Xxx" 空格…
获取property入口
String url = applicationContext.getEnvironment().getProperty(“xxx”);
environment委托propertyResolver去根据key获取配置value
遍历所有propertySources
从每个propertySource里尝试根据key获取配置value
若获取到值,则处理占位符
值转换为目标类型
设置系统环境变量到property里的入口
SpringBoot启动时创建StandardEnvironment
customizePropertySources()方法
添加系统属性和环境变量到 propertySources 里
获取系统属性,添加到 propertySources 里
key: systemProperties
values: System.getProperties()
获取系统环境变量,添加到 propertySources 里
key: systemEnvironment
values: System.getenv()