在项目中,如果你需要一个配置信息类,即我们在application.yml文件中配置的属性可以在其他地方可以实现访问与调用,不妨使用**@EnableConfigurationProperties**,这个注解的作用就可以让使用注解**@Component和@ConfigurationProperties**的类能够注入IOC容器中。
这里值得注意的点:
- 如果我们在配置信息类中只是使用了@ConfigurationProperties,而没有使用@Component,则该类虽然能够注入到IOC容器中,但是不能与application.yml配置文件中的属性进行数据绑定。
假设我们在application.yml文件中定义以下配置信息:
blog:
name: tfblog
author: xiaoming
type: personal
然后创建配置信息类:
@ConfigurationProperties(prefix = "blog")
@Component
@Data
public class BlogProperties {
private String name;
private String author;
private String type;
}
接着我们可以在一个配置了**@Configuration**的配置类中将其注入并使用:
@Configuration
@EnableConfigurationProperties(BlogProperties.class)
public class BlogConfig {
@Resource
private BlogProperties blogProperties;
//使用该配置文件帮助其他Bean初始化...
}