环境:Spring 4.3.30.RELEASE, jdk 8, win10
spring中可以很方便的将配置文件properties读入供全局使用
在简单的Spring项目中(非web),获取配置时会查找两个地方,System.getenv() 和System.getProperties().
如果我们的配置文件中有配置的key和System.getenv()配置列表中重复的,则获取到的参数就不是我们想要的了。
举例,使用PropertySource注解引入配置。常见的配置如jdbc.properties,用户名username如果没有加前缀,如jdbc.username,而就叫username,值是root,则在声明数据源bean时,通过${}表达式注入的值会是System.getenv()中的USERNAME的值,这个值可能是电脑登录用户名,然后就有了下面的错误
发生这样的冲突的时候,Spring貌似没有给出我们提醒。