-
首先,我们创建一个springboot项目会自动创建一个入口类xxxApplication
我们通过入口类上的注解@SpringBootApplication的子注解,开启自动配置功能
通过AutoConfigurationImportSelector,导入需要自动配置的类,下面我们打开AutoConfigurationImportSelector源码一探究竟。
-
AutoConfigurationImportSelector.class源码
AutoConfigurationImportSelector中的重要方法:
- process方法详解【在该方法中调getAutoConfigurationEntry()方法来得到自动配置类放入autoConfigurationEntry对象中】
// 这里用来处理自动配置类,比如过滤掉不符合匹配条件的自动配置类
// 由自动配置逻辑相关的入口方法DeferredImportSelectorGrouping类的getImports方法调用
// annotationMetadata:元数据信息
// deferredImportSelector:具体类型为AutoConfigurationImportSelector
@Override
public void process(AnnotationMetadata annotationMetadata, DeferredImportSelector deferredImportSelector) {
// 【1】deferredImportSelector强