Spring Bean的生命周期
- Bean的建立,由BeanFactory读取Bean定义文件,并生成各个实例
- Setter注入,执行Bean的属性依赖注入
- BeanNameAware的setBeanName(),如果实现该接口,则执行其setBeanName方法
- BeanFactoryAware的setBeanFactory(),如果实现该接口,则执行其setBeanFactory方法
- BeanPostProcessor的processBeforeInitalization(),如果有关联的processer,则在Bean初始化之前都会执行这个实例的processBeforeInitialization()方法
- InitializaingBean的afterPropertiesSet(),如果实现了该接口,则执行其afterPropertiesSet()方法
- Bean定义文件中定义init-method
- BeanPostProcessors的processAfterInitialization(),如果有关联的processer,则在Bean初始化之前都会执行这个实例的processAfterInitialization()方法
- DisposableBean的destory(),在容器关闭时,如果Bean类实现了该接口,则执行它的destory()方法
- Bean定义文件中定义destory-method,在容器关闭时,可以在Bean定义文件中使用“destory-method”定义的方法
springbean生命周期简述
- 实例化(必须的)构造函数构造对象
- 装配(可选的)为属性赋值
- 回调(可选的)(容器-控制类和组件-回调类)
- 初始化(init-method= " ")
- 就绪
- 销毁(destory-method=" ")