如果我们的应用程序中有多个属性文件,并且这两个文件都设置了不同值的变量,该怎么办?
我们通常只像下面这样注入值,它总是设法从属性文件中获得值。多么?
@Configuration
public class AppConfig {
@Value("${spring.datasource.url}")
private String datasourceUrl;
发布于 2018-07-05 21:44:09
Spring读取的最后一个文件中的值将覆盖所有以前读取的值。如果您自己定义读取文件的顺序(例如,通过配置),则您可以完全控制它。看看下面的例子:
基于注释的配置:
@Configuration
@PropertySource({"classpath:foo.properties", "classpath:bar.properties"})
public class PropertiesWithJavaConfig {
//...
}
基于XML的配置:
<context:property-placeholder location="classpath:foo.properties,classpath:bar.properties"/>
如果bar.properties
包含也在foo.properties
中定义的属性,则bar.properties
中的值将覆盖foo.properties
中的值。
https://stackoverflow.com/questions/51192682
复制相似问题