SpringBoot的自动配置原理
@SpringBootApplication注解(组合注解:配置类,自动扫描,自动配置),这是SpringBoot应用配置及运行开始的地方
点进去就会看到@EnableAutoConfiguration(自动配置)
@EnableAutoConfiguration(自动配置)中@Import(AutoConfigurationImportSelector.class)导入了AutoConfigurationImportSelector导入选择器
里面有个selectImports(选择导入)方法,List<String> configurations = getCandidateConfigurations(annotationMetadata,attributes);
点击getCandidateConfigurations,会跳到同类的getCandidateConfigurations方法,然后会找到SpringFactoriesLoader类,
里面会让你找META-INF/spring.factories文件,
文件下org.springframework.boot.autoconfigure.EnableAutoConfiguration=\的EnableAutoConfiguration 配置了很多类,就可以完成自动配置了