欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Bean 生命周期 博客分类: framework  

程序员文章站 2024-03-22 20:08:58
...

Bean生命周期涉及到的方法:
1、自身的方法:构造函数实例化函数,调用seter设置bean的属性,通过bean的init-method和destory-method
2、Bean级生命周期接口方法:
BeanNameAware,BeanFactoryAware,InitializingBean,DisposableBean
3、容器级生命周期接口方法:
InstantiationAwareBeanPostProcessor,BeanPostProcessor

将以上这些接口以及容器串联起来后就是下面的顺序,也就是bean的整个生命周期:

 

1.调用InstantiationAwareBeanPostProcessor的postProcessorBeforeInstantiation()方法

看到这个接口的名字就知道是在类实例化之前做预处理的动作。

 

2.预处理结束后,开始通过构造函数实例化这个bean。

 

3.实例化结束后,还可以调用InstatiationAwareBeanPostProcessor的PostProcessorAfterInstantiation().

 

4.继续调用InstatiationAwareBeanPostProcessor的 postProcessPropertyValus()方法。

  在设置bean的属性值之前,对属性做预处理。

 

5.set设置bean的属性

 

6.调用BeanNameAware的setBeanName,将该bean的名称设置到bean中

 

7.调用BeanFactoryAware的setBeanFactory,将beanfactory容器设置到bean中

 

8.调用BeanPostProcessor的PostProcessBeforeInitialization.这是一个后处理器对bean进加工处理,

   可以对bean进行特殊的处理,甚至改变bean的行为。

 

9.调用InitializingBean的afterPropertiesSet

 

10.调用init-method属性配置的方法

 

11.调用BeanPostProcessor的postProcessAfterInitialization

 

12.调用DisposableBean的afterPropertiesSet释放bean的资源

 

13 调用通过destory-method属性配置的销毁方法

 

整个流程看起来有些庞大 ,而且在开发中也很少能够应用到。

某些方法还会和spring的框架绑定在一起了。

 

以上整个bean的生命周期来自于精通spring2.x企业应用 开发详解,这么书很好 ,作者很强大,

看了之后收益匪浅。