spring 容器生命周期
时间: 2023-10-26 09:22:56 浏览: 85
Spring 容器的生命周期可以分为三个阶段:实例化、初始化和销毁。
1. 实例化阶段:在这个阶段,Spring 容器会根据配置文件或注解等方式,创建并实例化所有的 Bean 对象。这个阶段主要包括以下步骤:
- 加载配置文件或扫描注解,获取所有的 Bean 定义。
- 根据 Bean 定义创建相应的 Bean 实例。
- 对于单例的 Bean,容器会在这个阶段创建并保留其实例。
2. 初始化阶段:在实例化阶段完成后,Spring 容器会对实例化的 Bean 进行初始化。这个阶段主要包括以下步骤:
- 设置 Bean 的属性值,包括依赖注入。
- 调用 Bean 的初始化方法,可以通过配置文件或注解指定初始化方法。
- 执行 BeanPostProcessor 的前置处理方法。
- 对于单例的 Bean,容器会在这个阶段完成其初始化。
3. 销毁阶段:在容器关闭时,会执行销毁阶段,对已经初始化的 Bean 进行销毁和清理工作。这个阶段主要包括以下步骤:
- 调用 Bean 的销毁方法,可以通过配置文件或注解指定销毁方法。
- 执行 BeanPostProcessor 的后置处理方法。
需要注意的是,对于单例的 Bean,默认情况下 Spring 容器会管理其完整的生命周期,而对于原型(prototype)作用域的 Bean,则不负责销毁。如果需要在原型 Bean 销毁时执行一些清理工作,可以使用自定义的销毁回调方法或者手动管理。
以上是 Spring 容器的基本生命周期,可以通过配置文件或注解等方式来控制和管理 Bean 的生命周期。
阅读全文