Spring 是以后 Java 技术栈中最支流技术之一,作为 Spring 的基础知识 Bean 组件的生命周期总结一下。
1. 首先创立 Bean,实例化一个 Bean 对象。
2. 对 Bean 对象进行属性的填充。
3. 判断该对象是否实现 BeanNameAware 接口,如果实现则把改 Bean 的 ID 传入 setBeanName() 办法中。
4. 判断该对象是否实现 BeanFactoryAware 接口,如果实现则在 setBeanFactory() 传入 beanFactory 对象。
5. 判断该对象是否实现 ApplicationContextAware 接口,如果实现则在 setBeanContext() 传入 context 对象。
6. 判断该对象是否实现 BeanPostProcessor 接口,如果实现则在初始化对象前调用 afterProcessBeforeInitialization() 办法。
7. 判断该对象是否实现 InitializingBean 接口,如果实现则调用 afterPropertiesSet() 办法。
8. 判断该对象是否实现 BeanPostProcessor 接口,如果实现则调用 postProcessAfterInitialization() 办法。
9. 将该对象注入 Bean 容器。
10. 判断该对象是否实现 Destory、Init 接口,实现其办法,在创立之后销毁之前调用该办法。