SpringBoot 自动装配原理
@SpringBootApplication
注解里有个注解叫 @EnableAutoConfiguration
@EnableAutoConfiguration
注解里有个注解叫 @Import(AutoConfigurationImportSelector.class)
@EnableAutoConfiguration
只是一个简单地注解,自动装配核心功能的实现实际是通过 AutoConfigurationImportSelector
类实现的。
AutoConfigurationImportSelector
类间接实现了 ImportSelector接口
的 String[] selectImports(AnnotationMetadata importingClassMetadata)
方法,这个方法的返回值是一个字符串数组,对应的是一系列要注入到 Spring IoC 容器中的类的 类名;
当在 @Import
中导入一个 ImportSelector的实现类
之后,会把该实现类中返回的Class
都装载到IoC容器
中;
参考:
SpringBoot 自动装配原理详解
SpringBoot 自动装配的原理分析
还没有评论,来说两句吧...