为什么使用@PropertySource代替PropertyPlaceholderConfigurer?

时间:2018-10-10 13:03:00

标签: java spring spring-boot spring-config

Spring Javadoc

  

”现有配置使用“ systemPropertiesMode”和/或   “ systemPropertiesModeName”属性。鼓励用户移动   不用使用这些设置,而是配置属性源   通过容器的环境搜索顺序”

为什么鼓励在容器的环境中进行搜索?

编辑:

需要了解为什么要使用@PropertySource而不是PropertyPlaceholderConfigurer,如果PropertySource和PropertyPlaceholderConfigurer都实现了获取路径中提到的资源的目标,那么它比PropertyPlaceholderConfigurer有什么好处。

1 个答案:

答案 0 :(得分:0)

我认为是因为规则#3 of 12 factor app principles

  

十二个因素的应用程序将配置存储在环境变量中(通常缩写为env vars或env)。 Env var易于在部署之间进行更改,而无需更改任何代码。与配置文件不同,它们很少有可能被意外检入代码存储库;与自定义配置文件或其他配置机制(例如Java系统属性)不同,它们是与语言和操作系统无关的标准。