spring中的JavaBean的生命周期
Bean的生命周期:
1,实例化bean
2,设置javaBean的属性值
3,若该bean实现了BeanNameAware接口,则调用该接口的setBeanName()方法
4,若该bean实现了BeanFactoryAware接口,则调用该接口的setBeanFactory()方法
5, 若sping为所有javaBean配置了后处理器,即实现了BeanPostPorcessor接口的java类,并在配置文件中注册为bean
调用BeanPostProcessor接口的postProcessBeforeInitialization()方法
6,若bean实现了InitializingBean接口,则调用该接口的afterPropertiesSet()方法
7, 调用bean中自己定制的初始化方法:配置文件中配置init-method, 7和8的初始化方法是平级的,可共存,效果一样,一般选其一即可
8,调用BeanPostPorcessor接口的postProcessAfterInitialization()方法
容器销毁后,调用bean中定制的销毁方法
9,若该bean实现了DisposableBean接口,调用其destroy()方法,
10,配置文件中指定自定义的销毁方法:destroy-method , 9和10是两种不同的销毁方式,是平级的,可共存,效果一样,一般选其一即可
图解: