弹簧@PropertySources值不覆盖
我正在将我的Spring Boot应用程序部署为Tomcat中的WAR文件。我期望我的 application-local.properties 覆盖也存在于我的 application.properties 文件中的值。但是,似乎只有当 application.properties 中不存在这些键时,才会读取 application-local.properties 中的值。我的 application.properties 文件位于我的项目的 src/main/resources/ 中,application-local.properties 位于 ${catalina.home}/property_files/com/demo/config 文件夹中
上下文.xml
<Parameter name="spring.profiles.active" value="local" override="false"/>
卡塔利娜.属性
shared.loader=${catalina.home}/property_files
应用配置.java
@Configuration
@PropertySources({
@PropertySource("classpath:application.properties"),
@PropertySource("classpath:com/demo/config/application-${spring.profiles.active}.properties")
})
public class AppConfig extends WebMvcConfigurerAdapter {
}
编辑1:实际上,我的环境相关属性文件正在加载。但它不会覆盖内部属性文件中的任何值。
编辑2:感谢您的所有建议。但是我发现我的问题是由目录优先级引起的。事实证明,根类路径上的属性文件比任何属性文件都具有更高的优先级,无论它们的声明顺序如何。