1、为何使用此注解
在application默认配置文件中会放入很多的配置,redis,mysql等等,但是当我们系统中使用某些写死的属性值时,再放入到application默认配置文件中可能会让配置文件显得很长不好管理,所以可以使用此注解,而application默认配置文件可以只放插件的配置,而不再需要关注这些
2、使用方法
2-1、创建一个实体类
@Component
@PropertySource("classpath:test.properties")//指定使用哪个配置文件
@ConfigurationProperties(prefix = "test")//指定配置文件中前缀
public class MyProperties {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "MyProperties{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
'}';
}
}
@Component代表此类可以被@Autowired注入
@PropertySource("classpath:test.properties")代表使用的是test.properties配置文件而不是application默认配置文件
@ConfigurationProperties(prefix = "test")代表配置文件中前缀
2-2、创建一个test.properties配置类,
test.id=3
test.name=zhangsan
为了验证是否生效贴上我的application配置类的内容
2-3、验证
可以看到打印的结果是id=3的,所以配置生效