您现在的位置是: 首页 >  个人博客日记 >  Spring详解Bean的生命周期 博客详情

Spring详解Bean的生命周期

请叫我菜鸟 2019-06-30 17:17 【Spring框架】 309次预览

简介在传统的Java程序中,实例化一个bean的过程是相当简单的,使用new关键字即可完成创建,然后该bean就可以使用了。一旦该bean不再被使用后,将由java虚拟机自动进行垃圾回收处理。相比之下,Spring创建bean的过程(即Bean的生命周期...

在传统的Java程序中,实例化一个bean的过程是相当简单的,使用new关键字即可完成创建,然后该bean就可以使用了。一旦该bean不再被使用后,将由java虚拟机自动进行垃圾回收处理。

相比之下,Spring创建bean的过程(即Bean的生命周期)就相对复杂多了。对于一个开发者而言,理解Spring的生命周期有时在工作过程中将会事半功倍Spring的生命周期流程图:

1.png

那么,下面我就对上图每个过程进行下说明

1、Spring对Bean进行实例化。

2、Spring将Bean的引用、值Set到Bean对应的属性中。

3、如果Bean实现了BeanNameAware接口,Spring将会把ID传给setBean-Name()方法。

4、如果Bean实现了BeanFactoryAware接口,Spring将会调用setBeanFactory()方法,然后将BeanFactory容器实例传入。

5、如果Bean实现了ApplicationContextAware接口,Spring将调用setApplicationContext()方法,将Bean所在的应用上下文的引用传入进来。

6、如果Bean实现了BeanPostProcessor接口,Spring将调用postProcessBeforeInitialization()方法。

7、如果Bean实现了InitializingBean接口,Spring将调用它们的setPreopertiesSet()方法。

8、如果Bean实现了BeanPostProcessor接口,Spring将调用它们的postProcessAfterInitialization方法。

9、到这一步骤后,bean已经准备就绪了,之后会一直存在于应用上下文中,知道应用上下文被销毁。

10、如果Bean调用了DisposableBean接口,Spring会调用它的destory()接口方法。


加入我们

  • Java学习资源网官方群1

    群号:280998807(已满)

  • Java学习资源网官方群2

    群号:291195645

  • Java学习资源网官方群3

    群号:691628026

打赏本站

  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!
  • 微信扫码:你说多少就多少~
  • 支付宝扫码:你说多少就多少~