BeanFactoryPostProcessor

BeanFactoryPostProcessor是BeanFactory的后置处理器;

使用目的:在BeanFactory标准初始化之后调用,用来定制和修改BeanFactory的内容

工作时机:所有的bean定义已经保存加载到beanFactory中,但bean的实例还没创建;

1)IOC容器创建对象;

2)invokeBeanFactoryPostProcessors(beanfactory);执行BeanFactoryPostProcessor;

如何 找到所有的BeanFactoryPostProcessors并执行他们的方法?

a)注解在Beanfactory中找到所有类型是BeanFactoryPostProcessor的组件,并执行他们的方法;

b)在初始化创建其他组件前面执行;该方法是invokeBeanFactoryPostProcessors(beanFactory);

,它在registerBeanPostProcessors(beanFactory)和finishBeanFactoryInitialization(beanFactory)方法前执行;