简述
原文:
Spring 中 BeanFactory 的生命周期与源码解析
Bean的生命周期
1.InstantiationAwareBeanPostProcessor调用postProcessBeforeInstantiation方法
2.实例化Bean对象,调用构造器
3.InstantiationAwareBeanPostProcessor调用postProcessAfterInstantiation方法
4.InstantiationAwareBeanPostProcessor调用postProcessPropertyValues方法
5.设置属性
//若实现了Aware接口,则调用
6.设置Bean的BeanNameAware接口,调用BeanNameAware.setBeanName()
7.设置Bean的BeanFactoryAware接口,调用BeanFactoryAware.setBeanFactory()
8.调用BeanPostProcessor的postProcessBeforeInitialization方法
//调用初始化方法
9.InitializingBean接口,调用InitializingBean.afterPropertiesSet()
10.调用<bean>的init-method属性指定的初始化方法
11.调用BeanPostProcessor的postProcessAfterInitialization方法
//容器初始化成功
12.使用Bean
//关闭容器,调用销毁方法
13.DisposableBean接口,调用DisposableBean.destory()
14.调用<bean>的destroy-method属性指定的初始化方法