Spring的生命周期

69 阅读1分钟

Spring框架中的Bean(组件)生命周期主要包括以下阶段:

1. 实例化(Instantiation):

在这个阶段,Spring容器会根据配置文件或者注解等方式创建Bean的实例。实例化的方式可以分为两种:

  • 构造器实例化: 使用构造器创建Bean的实例。
  • 静态工厂方法实例化: 使用静态工厂方法创建Bean的实例。

2. 属性赋值(Population):

在这个阶段,Spring容器会为Bean的属性赋值。属性赋值的方式有两种:

  • 基于属性的注入: 通过setter方法注入属性值。
  • 基于构造器的注入: 通过构造器注入属性值。

3. 初始化(Initialization):

在这个阶段,Spring容器会调用Bean的初始化方法,可以通过配置文件或者注解指定初始化方法。初始化方法可以是自定义的方法,例如使用init-method属性指定的方法。

4. 使用(Using):

在这个阶段,Bean已经完成初始化,可以被应用程序使用了。

5. 销毁(Destruction):

在这个阶段,Spring容器会调用Bean的销毁方法,可以通过配置文件或者注解指定销毁方法。销毁方法可以是自定义的方法,例如使用destroy-method属性指定的方法。

Bean的生命周期示意图如下:

实例化 --> 属性赋值 --> 初始化 --> 使用 --> 销毁

在Spring中,Bean的生命周期由容器负责管理,开发者可以通过实现InitializingBeanDisposableBean接口,或者通过使用@PostConstruct@PreDestroy注解来自定义初始化和销毁方法。此外,可以使用@Bean注解的initMethoddestroyMethod属性来指定初始化和销毁方法。