1、知识准备
首先,我们要知道,springboot
的配置类的构造器,构造器参数,是从IOC容器
中获取的。
2、案例说明
我随便找个springboot
的一个自动配置类
org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration
DispatcherServletConfiguration
是其内部类
我们看到,这里的两个注解和构造器参数的关系。
@Configuration
@EnableConfigurationProperties
dispatcherServlet(WebMvcProperties webMvcProperties)
两个注解,说明这个类是配置类,且WebMvcProperties
是一个属性配置文件。
所以,我们平时开发时,也可以模仿这种格式。
配置类里的属性配置,独立到一个属性配置文件中去,在通过
@EnableConfigurationProperties+@ConfigurationProperties
注解,将属性的配置暴露给yml
文件
那么,这里为什么不用@Component+@ConfigurationProperties
这种组合方式了?
我想,在配置类上加@EnableConfigurationProperties
注解,可以一眼看出,这个配置类和哪个属性文件关联。
可读性更强。