Spring源码invokeBeanFactoryPostProcessors方法说明(一)
一、开始
1、demo测试类目录
2、配置类
3、启动类
4、调用链
i1:org.springframework.context.support.AbstractApplicationContext#refresh
i2:org.springframework.context.support.AbstractApplicationContext#invokeBeanFactoryPostProcessors
i3:org.springframework.context.support.PostProcessorRegistrationDelegate#invokeBeanFactoryPostProcessors
>i4:org.springframework.context.support.PostProcessorRegistrationDelegate#invokeBeanDefinitionRegistryPostProcessors
5、invokeBeanDefinitionRegistryPostProcessors说明(此处只说部分)
PriorityOrdered那一块已经加载了所有的@Component注解的类到容器中。
这里通过排序确认先后顺序,分别调用postProcessBeanDefinitionRegistry方法
6、BeanDefinitionRegistryPostProcessor简单说明
二、结束
下节将具体说明各个beanDefinition如何添加到beanFactory
org.springframework.context.annotation.ConfigurationClassPostProcessor#processConfigBeanDefinitions
org.springframework.context.annotation.ConfigurationClassParser#parse
org.springframework.context.annotation.ConfigurationClassParser#processConfigurationClass
org.springframework.context.annotation.ConfigurationClassParser#doProcessConfigurationClass