}
现实开发中,假如就有这种情况,定义好了一个类,即使加上了注解,也不能保证这个类一定被 Spring 扫描到,这个时候该怎么做呢?
这时候我们可以再定义一个类 MyConfiguration,保证这个类可以被 Spring 扫描到,然后通过加上 @Import 注解来导入 TestImport 类,这时候就可以直接注入 TestImport 了:
@Configuration
@Import(TestImport.class)
public class MyConfiguration {
}
所以这里的 @Import 注解其实就是为了去导入一个类
AutoConfigurationImportSelector,接下来我们需要分析一下这个类。
AutoConfigurationImportSelector 类
进入这个类之后,有一个方法,这个方法很好理解,首先就是看一下 AnnotationMetadata(注解的元信息),有没有数据,没有就说明没导入直接返回一个空数组,否则就调用 getAutoConfigurationEntry 方法:
进入 getAutoConfigurationEntry 方法:
这个方法里面就是通过调用