自动配置:
常用框架对应的JavaConfig类都已经编写好了,springboot启动的时候会一个一个的进行读取,读取时会先根据条件注解进行判断,看是否满足条件,满足条件后才会读取配置类然后去配置对应的框架。
- Springboot启动后,读取程序的启动类时,就会读取到
@SpringBootApplication
注解
@SpringBootApplication
注解又包含了@EnableAutoConfiguration
注解
-
@EnableAutoConfiguration
注解导入了AutoConfigurationImportSelector类,
即@Import(AutoConfigurationImportSelector.class)
-
AutoConfigurationImportSelector.class
中,定义了一个方法getCandidateConfigurations
,进入getCandidateConfigurations
方法,getCandidateConfigurations
会到classpath
下的读取META-INF/spring.factories
文件的配置
-
spring.factories
文件在spring-boot-autoconfigure-2.3.0.RELEASE.jar
的META-INF
中,spring.factories
文