美文网首页
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