美文网首页
EnableAutoConfiguration / AutoCo

EnableAutoConfiguration / AutoCo

作者: 何德何能者 | 来源:发表于2021-02-09 14:17 被阅读0次

在spring-boot中@EnableAutoConfiguration 和 AutoConfigurationImportSelector是一对
@EnableAutoConfiguration用于声明加载spring.factories中EnableAutoConfiguration的实现
AutoConfigurationImportSelector 类则是实现这个加载逻辑

本章使用的知识点来自spring AbstraceApplicationContext refresh 里的invokeBeanFactoryPostProcessors 方法。 简单说一下这个处理跟@EnableAutoConfiguration的关系, 是因为invokeBeanFactoryPostProcessors处理注解@Configuration/@Component/@Import/@ImportResource/@ComponentScan; 刚好@EnableAutoConfiguration有@Import,所以触发了AutoConfigurationImportSelector的getAutoConfigurationEntry方法;

AutoConfigurationImportSelector.getAutoConfigurationEntry

该方法主要处理的事有
1、加载spring.factores中的EnableAutoConfiguration实现类;
2、排除配置EnableAutoConfiguration
3、过滤掉@ConditionXX不满足的EnableAutoConfiguration类

总结

spring-boot扩展了ImportSelector的实现,完成EnableAutoConfiguration实现类的加载。
spring-boot默认不开启EnableAutoConfiguration, 需要在mian类上加@EnableAutoConfiguration

相关文章

网友评论

      本文标题:EnableAutoConfiguration / AutoCo

      本文链接:https://www.haomeiwen.com/subject/ssnqxltx.html