Spring环境变量读取不到值

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()

你可能感兴趣的:(Spring,spring,java,后端)