我们知道利用@Value可以灵活的把配置文件中的键值对的值注入到Bean中,但这还不够,比如下述的application.properties
mysql.url="http://127.0.0.1:3306/wiki"
mysql.userName=admin
mysql.password=admin
需要使用@value就要填写3次,为减少重复,因此Spring Boot为我们提供了@ConfigurationProperties注解。可以一次性将属性加载到bean中。
注意:
1.@ConfigurationProperties与@Component或@EnableConfigurationProperties 配合一块使用,才能生效。
2.@ConfigurationProperties也支持从yml文件中读取配置信息。
但是需要满足以下条件:
-
读取的是yml配置文件,配置数据必须放在application.yml或者bootstrap.yml中,否则读不到
-
【映射读取类】的注解要记得添加@Component或@EnableConfigurationProperties(xxx.class),其中xxx.class使用注解 @ConfigurationProperties(“xxx.xxx”)