Spring中bean的生命周期

1.传统 Java 应用 bean 的生命周期

  1. 使用 Java 关键字 new 进行 bean 实例化。
  2. 使用这个 bean
  3. Java 自动进行垃圾回收。

2.Spring 中 bean 的生命周期

  1. 实例化。
  2. 填充属性。
  3. 调用 BeanNameAwaresetBeanName() 方法。
  4. 调用 BeanFactoryAwaresetBeanFactory() 方法。
  5. 调用 ApplicationContextAwaresetApplicationContext() 方法。
  6. 调用 BeanPostProcessor 的预初始化方法。
  7. 调用 InitalizingBeanafterPropertiesSet() 方法。
  8. 调用自定义的初始化方法。
  9. 调用 BeanPostProcessor 的初始化后方法。
  10. 使用 bean。
  11. 调用 DisposableBeandestory() 方法。
  12. 调用自定义的销毁方法。

3.Spring 中 bean 生命周期的解释

3.1.bean 生命周期的本质

就一个对象而言,其声明周期可以概括为:

  1. 创建(实例化 + 初始化)
  2. 使用
  3. 销毁

Spring 中的 bean 而言,Spring 只是提供了一些接口,允许开发者在:实例化初始化销毁

的前后进行一些操作。

3.2.bean 相关方法分类

  1. Bean自身方法init-method/destroy-method,通过为配置文件bean定义中添加相应属性指定相应执行方法。
  2. Bean级生命周期接口BeanNameAwareBeanFactoryAware、和InitializingBean 。这些接口的方法,每个 bean 选择实现,可选择各自的个性化操作。
  3. 容器级生命周期接口方法BeanPostProcessor 等 ,一般称它们的实现类为“后处理器”,这些接口是每个 bean 实例化或初始化时候都会调用。

3.3.简单描述

bean 的生命周期,主要就是在实例化填充属性之后,让 bean 知道自己的名称工厂上下文 ,并在自定义的初始化方法前后调用预初始化(前)、填充属性后(前)初始化后(后)方法。

4.参考链接

Spring Bean生命周期详解