spring bean 容器的生命周期是什么样的
时间: 2023-03-07 22:42:36 浏览: 109
Spring Bean 容器的生命周期由实例化、配置和初始化、使用和销毁等几个步骤组成。实例化是指容器创建bean的实例;配置和初始化是指容器注入bean的属性值,并调用bean的初始化方法;使用是指容器将bean引用传递给应用程序,应用程序使用bean;销毁是指容器调用bean的销毁方法。
相关问题
Spring Bean 的生命周期是什么?
Spring bean的生命周期包括以下阶段:
1. 实例化(Instantiation):容器根据 Bean 定义创建一个 Bean 实例。
2. 属性赋值(Population):容器将 Bean 实例的属性注入到 Bean 实例中。
3. 初始化(Initialization):在 Bean 实例化之后,容器调用 Bean 的初始化方法,完成 Bean 的初始化工作。
4. 使用(In Use):Bean 对象可以被业务代码调用。
5. 销毁(Disposal):当容器关闭时,容器调用 Bean 的销毁方法,在销毁之前执行清理操作。
整个生命周期的调用顺序是:实例化 -> 属性赋值 -> 初始化 -> 使用 -> 销毁。
spring bean 容器的生命周期
Spring bean 容器的生命周期可以分为三个阶段:实例化、初始化和销毁。
1. 实例化阶段:在这个阶段,Spring 容器会根据配置信息创建 bean 的实例。根据配置的不同,Spring 可以通过构造函数实例化 bean,也可以通过工厂方法来创建实例。在这个阶段,Spring 只是创建了对象的实例,并没有进行属性注入或其他初始化操作。
2. 初始化阶段:在实例化后,Spring 容器会对 bean 进行初始化。这个阶段包括以下几个步骤:
- 属性注入:Spring 容器会将配置的属性值注入到 bean 的属性中,可以通过 XML 配置或注解来完成属性注入。
- Aware 接口回调:如果 bean 实现了 Aware 接口,容器会调用相应的回调方法,让 bean 对容器的一些特定情况做出响应。
- 自定义初始化方法:如果在配置中指定了自定义的初始化方法,Spring 容器会调用该方法进行额外的初始化操作。
3. 销毁阶段:当 Spring 容器关闭时,会触发 bean 的销毁操作。销毁阶段包括以下几个步骤:
- 实现 DisposableBean 接口:如果 bean 实现了 DisposableBean 接口,容器会调用其 destroy() 方法进行销毁操作。
- 自定义销毁方法:如果在配置中指定了自定义的销毁方法,Spring 容器会调用该方法进行额外的销毁操作。
需要注意的是,对于单例作用域的 bean,默认情况下 Spring 容器会管理其完整的生命周期,而对于原型作用域的 bean,Spring 容器只负责创建和初始化,不会进行销毁操作,需要手动释放资源。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)