提问:spring的bean生命周期是怎么样的?
回答:
构造函数->依赖注入->Aware接口->BeanPostProcessor#before->初始化方法->BeanPostProcessor#after->销毁bean
1.通过BeanDefinition获取bean定义信息
2.调用构造函数实例化bean
3.bean的依赖注入
4.处理Aware接口(BeanNameAware、BeanFactoryAware、ApplicationContextAware)
5.Bean的后置处理器BeanPostProcessor-前置
6.初始化方法(Initalizing Bean、init-method)
7.Bean的后置处理器BeanPostProcessor-后置
8.销毁bean