invokeBeanFactoryPostProcessors
2023-08-19 13:55:18 0 举报
springboot invokeBeanFactoryPostProcessors
作者其他创作
大纲/内容
invokeBeanFactoryPostProcessors此方法主要用于 BeanDefinitionRegistry 和 BeanFactoryPostProcessor 处理
处理 @PropertySource 注解
处理接口的 default 方法有 @Bean 注解的方法
parser.parse
处理 @Component 注解
this.reader.loadBeanDefinitions
**此处会将所有扫描到的类存储到ConfigurationClassParser#configurationClassesfont color=\"#323232\
继续递归处理是否导入的类上是否还有导入
ParserStrategyUtils.instantiateClass
判断导入的类是否继承了 ImportSelector 接口
processMemberClasses
processConfigBeanDefinitions
postProcessBeanDefinitionRegistry 方法执行
BeanDefinition 集合
doProcessConfigurationClass
processConfigurationClass
处理 @ImportResource
PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors
parse
ImportSelector 接口使用
处理父类标有以上注解的类或方法如果存在符合条件的父类则继续执行 processConfigurationClass 的 do-while 循环
ConfigurationClassPostProcessor
processImports
invokeBeanFactoryPostProcessors
invokeBeanDefinitionRegistryPostProcessors
candidate.isAssignable(ImportBeanDefinitionRegistrar.class)
selector.selectImports
candidate.isAssignable(ImportSelector.class)同时也会判断 selector instanceof DeferredImportSelector
processPropertySource
this.componentScanParser.parse调用一下方法ComponentScanAnnotationParser#parse
处理解析配置类
判断导入的类是否继承了 ImportBeanDefinitionRegistrar
通过解析器开始解析注解元素
收藏
0 条评论
回复 删除
下一页