SpringBoot的自动配置原理

@SpringBootApplication注解(组合注解:配置类,自动扫描,自动配置),这是SpringBoot应用配置及运行开始的地方

SpringBoot的自动配置原理

点进去就会看到@EnableAutoConfiguration(自动配置)

SpringBoot的自动配置原理
@EnableAutoConfiguration(自动配置)中@Import(AutoConfigurationImportSelector.class)导入了AutoConfigurationImportSelector导入选择器

SpringBoot的自动配置原理
里面有个selectImports(选择导入)方法,List<String> configurations = getCandidateConfigurations(annotationMetadata,attributes);

SpringBoot的自动配置原理
点击getCandidateConfigurations,会跳到同类的getCandidateConfigurations方法,然后会找到SpringFactoriesLoader类,

SpringBoot的自动配置原理里面会让你找META-INF/spring.factories文件,

SpringBoot的自动配置原理文件下org.springframework.boot.autoconfigure.EnableAutoConfiguration=\的EnableAutoConfiguration  配置了很多类,就可以完成自动配置了

SpringBoot的自动配置原理

SpringBoot的自动配置原理