简介

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

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

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

Spring详解Bean的生命周期

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

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()接口方法。

相关文章:

  • 2019-07-03
  • 2020-07-11
  • 2021-02-18
  • 2021-12-26
  • 2020-05-12
猜你喜欢
  • 2018-02-24
  • 2019-03-05
  • 2021-08-18
  • 2020-02-25
  • 2021-03-03
  • 2018-03-25
  • 2019-09-10
  • 2019-11-02
相关资源
相似解决方案