Spring Bean的生命周期从Spring容器的初始化到Bean的销毁,期间经历的过程如下
容器注入了上面提到的接口,那在相应步骤就会执行对应的接口方法。值得注意的几点是
1. 实例化BeanFactoryPostProcessor实现类
2. 执行BeanFactoryPostProcessor的postProcessorBeanFacotry方法
3. 在执行Bean的构造函数之前会调用InstantiationAwareBeanPostProcessor的postProcessBeforeInstantiation方法
4.在为bean注入属性之前会调用InstantiationAwareBeanPostProcessor的postProcessPropertyValues方法
5.在为bean注入属性之后会调用BeanNameAware的setBeanName方法
6.执行BeanFactoryAware的setBeanFactory方法。
7.然后就是BeanPostProcess接口的postProcessBeforeInitialization和postProcessAfterInitialization方法之间先是调用InitializingBean的afterPropertySet方法,然后调用bean的init方法
8.执行bean的业务逻辑
9.调用DisposeBean的destory方法,此发生在bean的定义的destory方法之前
网友评论