ConfigurationClassPostProcessor详解
2023-01-09 17:19:29 4 举报
AI智能生成
ConfigurationClassPostProcessor 解析@Configuration
作者其他创作
大纲/内容
AnnotatedGenericBeanDefinition
在创建容器的时候解析appConfig配置类为BeanDefinition
org.springframework.context.support.AbstractApplicationContext#invokeBeanFactoryPostProcessors
在容器初始化的时候调用
如果有则调用 matches 判断是否需要跳过
@Condition
processMemberClasses
@Component
获取注解上面配置的属性解析后添加到 Environment
@PropertySources
org.springframework.context.annotation.ClassPathBeanDefinitionScanner#doScan
@ComponentScan
org.springframework.context.annotation.ConfigurationClassParser#processImports
普通类,那么会直接把它当做配置类来解析
ImportSelector,那么会将返回的类再次调用processImports()
DeferredImportSelector,那么暂时不会处理,会在解析完所有当前这轮配置类后进行导入,将返回的类再次调用processImports()
ImportBeanDefinitionRegistrar,那么暂时不会处理,会在解析完所有当前这轮配置类后,将配置类解析成为BeanDefinition之后进行调用
@Import
解析配置类中的@Bean,但并没有真正处理@Bean,只是暂时找出来
@Bean
如果有父类则递归解析
doProcessConfigurationClass
处理appConfig配置类
proxyBeanMethods=true 则增强配置类
enhanceConfigurationClasses
ConfigurationClassPostProcessor 解析
0 条评论
下一页