在我的Spring应用程序中,我尝试使用包含配置文件test
,dev
,prod
的property-placeholder。此外,我希望能够加载所有配置文件通用的默认属性common
。
<context:property-placeholder
ignore-resource-not-found="false"
location="classpath:application-common.properties,classpath:application-test.properties"/>
然而,这并没有正常工作。我还没有使用变量${spring.profiles.active}
,因为即使没有它,它也无法正常工作。会发生什么是连字符application-
按字母顺序加载后的内容。加载只是第一个,另一个被忽略。所以在这种情况下,只加载-common
。奇怪的是,如果我删除连字符,它会加载两个文件。
是否有一些我不知道的隐藏行为?
答案 0 :(得分:0)
您可以使用@PropertySource加载&#39; 普通&#39;属性文件。
@PropertySource({
"classpath:application-common.properties"
})
在运行应用程序时使用spring.profiles.active
加载环境特定属性文件。
例如,spring.profiles.active=dev