SpringIOC流程图
2021-10-09 10:00:33 0 举报
SpringIOC流程图
作者其他创作
大纲/内容
new ConfigurationClassParser()
解析配置类
AbstractApplicationContext#invokeBeanFactoryPostProcessors()
ConfigurationClassParser#parse()
循环从所有BeanDefinition拿到配置类并且标记:CONFIGURATION_CLASS_ATTRIBUTE分为两种:1.full:@Configuration2.lite:@Component、@ComponentScan、@Import、@ImportResource
processDeferredImportSelectors
processConfigBeanDefinitions()
invokeBeanDefinitionRegistryPostProcessors 执行所有实现了BeanDefinitionRegistryPostProcessor接口的类的postProcessBeanDefinitionRegistry()方法
refresh()
去容器中获取BeanDefinitionRegistryPostProcessor---只有ConfigurationClassPostProcessor
循环找出遗漏未处理的配置类
for
ConfigurationClassPostProcessor#postProcessBeanDefinitionRegistry
do!configCandidates.isEmpty()
显式调用getBean()的方式创建出该对象(ConfigurationClassPostProcessor)然后加入到currentRegistryProcessors集合中去
注册bean定义
beanFactory:当前bean工厂getBeanFactoryPostProcessors()自己设置的BeanFactroyPostPorcessor
AbstractApplicationContext#invokeBeanFactoryPostProcessors(beanFactory)
收藏
收藏
0 条评论
下一页