利用spi机制发现配置类并注册到spring容器中
以下示例使用springboot:3.2.1版本
相关注解
@SpringBootApplication
 
 @EnableAutoConfiguration
 
 
AutoConfigurationImportSelector
使用@Import导入AutoConfigurationImportSelector,随着springboot启动,会创建AutoConfigurationImportSelector的实例,通过该实例寻找所有自动配置类
-  
在spring生命周期的beanfactory后置处理器处理阶段,后置处理器
BeanDefinitionRegistryPostProcessor的实现类ConfigurationClassPostProcessor,使用AutoConfigurationImportSelector查找所有自动配置类AbstractApplicationContext#refresh AbstractApplicationContext#invokeBeanFactoryPostProcessors
org.springframework.boot.autoconfigure.AutoConfigurationImportSelector#getAutoConfigurationEntry

getCandidateConfigurations方法会读取META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件中的内容作为自动配置类的全路径类名

之后会将读取到的所有自动配置类的全路径名通过DefaultListableBeanFactory#registerBeanDefinition方法注册到spring容器中,这就意味着配置类开始生效 


















