BeanDefinitionRegistryPostProcessor

标题

执行时机:在所有bean定义信息将要被加载,bean实例还未创建时;

它优先于BeanFactoryPostProcessor执行,利用BeanDefinitionRegistryPostProcessor给容器中再额外添加一些组件;

原理:

1)IOC创建对象;

2)refresh()-->invokeBeanFactoryPostProcessors(BeanFactory);

3)从容器中获取到所有的BeanDefinitionregistryPostProcessor组件。

        3.1)依次触发所有的postProcessBeanDefinitionRegistry()方法;

        3.2)再来触发postProcessBeanFactory ;

4)再来从容器中找到beanFactoryPostProcessor组件,然后依次触发;