@ConfigurationProperties与@value笔记
程序员文章站
2022-04-19 22:33:36
...
1、@ConfigurationProperties(prefix="") 通过prefix前置匹配,将配置文件中的配置项绑定到某一个类的所有属性中;
配置该注解的类,需要在环境中配合@EnableConfigurationProperties或者@import或者@Component等才会生效;
2、@value 是将配置文件中某一个配置绑定到一个属性上;
3、@ConfigurationProperties(prefix="") 与 @value 一起使用时,会出现两种情况,如下:
@ConfigurationProperties(prefix = "center")
public class CenterProperties {
@Value("${my.name}")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
a、当配置文件中没有center.name时,name等于配置文件中my.name配置的值;
b、当配置文件中存在center.name时,name等于配置文件中center.name配置的值;
所以,当两个结合使用,会使用@ConfigurationProperties(prefix="")能够匹配到的值,利用这种配合形式能够灵活的运用在获取配置中的值作为默认值的场景;