@EnableAutoConfiguration 自动装配的注解
当spring容器加载中,会调用invokeBeanFactoryPostProcessors 这里会去读取beanDefined各种加载方法,自动装配则使用了@import注解实现调用AutoConfigureImportSeletor 的方法selectImports
方法里面逻辑是 加载spring.facotories 文件中键值为
EnableAutoConfiguration的值列表,这些值对应一系列的AutoConfiguture类。
这些AutoConfiguture类中根据条件是否要加载某个功能,条件判断可能会有是否引用了架包,是否含有某些配置项等等
实例化bean的时候,再去调用各种解析器判断是否符合条件的bean,不符合直接跳过
ConditionEvaluator类处理match方法-
ConfigurationClassPostProcessor的processConfigBeanDefinitions -
ConfigurationClassParser的parse方法 -
ConfigurationClassBeanDefinitionReader的loadBeanDefinitions方法
每个配置类都会有条件注解 @Condition***
本文深入探讨Spring Boot中@EnableAutoConfiguration注解的工作原理,包括自动装配的实现机制、条件注解的作用及配置类加载流程。从spring.factories文件的读取到ConditionEvaluator的条件判断,再到ConfigurationClassPostProcessor的配置类处理,全面解析自动配置背后的细节。
689

被折叠的 条评论
为什么被折叠?



