BeanFactoryPostProcessor是BeanFactory的后置处理器;
使用目的:在BeanFactory标准初始化之后调用,用来定制和修改BeanFactory的内容;
工作时机:所有的bean定义已经保存加载到beanFactory中,但bean的实例还没创建;
1)IOC容器创建对象;
2)invokeBeanFactoryPostProcessors(beanfactory);执行BeanFactoryPostProcessor;
如何 找到所有的BeanFactoryPostProcessors并执行他们的方法?
a)注解在Beanfactory中找到所有类型是BeanFactoryPostProcessor的组件,并执行他们的方法;
b)在初始化创建其他组件前面执行;该方法是invokeBeanFactoryPostProcessors(beanFactory);
,它在registerBeanPostProcessors(beanFactory)和finishBeanFactoryInitialization(beanFactory)方法前执行;