我敢肯定这已经被问了 1000 次,因为我见过他们,但是我错过了一些东西。
语境:
<beans profile="localDev">
<util:properties id="propertiesLocalDev"location="classpath:/localDev.properties"/>
</beans>
<beans profile="test">
<util:properties id="properties-test" location="classpath:/test.properties"/>
</beans>
在里面:
System.setProperty("spring.profiles.active", "localDev");
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
ctx.load("classpath:applicationContext.xml");
ctx.refresh();
配置:
@Configuration
public class AppConfig {
@Value("${test.value}")
private String testValue;
...
日志:
INFO: Loading properties file from class path resource [localDev.properties]
特性:
test.value=ugh
因此,似乎正在读取属性,但是未设置 AppConfig.testValue 中的值。我已经尝试过纯 java java/xml 等...一些配置破坏了一些工作,尝试使用@PropertySource,但常量是 testValue 永远不会被设置,所以我从根本上做错了什么。
总体目标是根据不同的配置文件加载不同的属性文件。
谁能看到我做错了什么?谢谢