BeanFactory中Bean的生命周期流程图如下
以上方法可分为三类
1.Bean自身的方法
Bean的构造方法,通过配置文件去设置Bean的属性,执行Bean的init-method和destory-method
2.Bean集生命周期的方法(个性化处理)
BeanNameAware,BeanFactoryAware,InitializingBean,DisposableBean的接口方法,由Bean类来直接实现
3.容器集生命周期方法(共性化处理)
InstantiationAwareBeanPostProcessor,BeanPostProcessor我们称之为后处理器,一般不由Bean本身实现,它们独立于Bean,实现类以附加装置的形式注入到Spring容器中,Spring创建容器时,这些后处理器都会发生作用
与ApplicationContext不同
调用InstantiationAwareBeanPostProcessor的postProcessBeforeInstantiation方法之前会调用BeanFactoryProcessor的postProcessBeanFactory方法,在调用BeanFactoryAware的setBeanFactory方法之后调用调用ApplicationContextAware的setApplicationContext方法