bean的生命周期的意义在于:
在生命周期的某些指定时刻完成相关操作。
单例bean的生命周期才归Spring IOC管理: 原型prototype的bean对于Spring来说只负责创建。
文字简述一下:
①通过构造方法初始化Bean
②依赖注入所有的属性
③如果实现了一些接口(BeanNameAware,BeanFactoryAware等接口),那么调用对应的set方法去赋值。
这里有一个后置处理器的before方法,可以自行在这个阶段处理一些操作
④在配置文件中init-method属性指定初始化方法,则调用。
这里有一个后置处理器的after方法,可以自行在这个阶段处理一些操作
⑤此时一个完整的bean已经出炉,如果是单例那么放到单例池,交给Spring管理,如果是原型prototype那么交给调用者管理。
⑥在配置文件中destory-method指定销毁方法或者实现DisposableBean接口,调用destory方法销毁Bean。
结束
结果图(总共7个阶段):
原来的5个过程+两个后置处理器在init前和后的流程