springboot 自动配置如何实现的呢?
@SpringBootApplication
@SpringBootConfiguration
@Configuration
@EnableAutoConfiguration
@AutoConfigurationPackage
@Import(AutoConfigurationPackages.Registrar.class)//自动注册包
@Import(AutoConfigurationImportSelector.class)//自动导入包的核心
@ComponentScan//自动扫描的包,通过自动注册类注册包
下面我们来看看AutoConfigurationImportSelector.class这个类
- getAutoConfigurationEntry
- getCandidateConfigurations
- 实际上是去autoconfiguration的资源目录下获取自动配置类信息