BeanDefinitionRegistryPostProcessor:
利用BeanDefinitionRegistryPostProcessor给容器中再额外添加一些组件
BeanDefinitionRegistryPostProcessor extends BeanFactoryPostProcessor:
- postProcessBeanDefinitionRegistry()
- 在所有bean定义信息将要被加载,bean实例还未创建;
- 优先于BeanFactoryPostProcessor执行
原理:
1)、ioc创建对象
2)、refresh()-->>invokeBeanFactoryPostProcessors()
3)、从容器中获取到所有的BeanDefinitionRegistryPostProcessor组件,
1)、依次触发所有的postProcessBeanDefinitionRegistry()方法
2)、再来触发postProcessBeanFactory()方法BeanFactoryPostProcessor
4)、再来从容器中找到BeanFactoryPostProcessor组件;然后依次触发postProcessBeanFactory()方法