Spring bean的作用域和生命周期
时间: 2024-04-06 22:17:29 浏览: 89
Spring Bean 的作用域和生命周期是 Spring 框架中非常重要的两个概念,这里简单介绍一下。
1. Bean 的作用域
在 Spring 中,Bean 的作用域指的是 Bean 实例的创建和销毁的范围。Spring 提供了以下五种作用域:
- singleton:单例模式,容器中只有一个 Bean 实例,所有对 Bean 的请求都将返回同一个实例。
- prototype:每次请求都会创建一个新的 Bean 实例。
- request:每个 HTTP 请求都会创建一个新的 Bean 实例。
- session:每个 HTTP Session 都会创建一个新的 Bean 实例。
- global session:基于 Servlet 3.0+ 的环境下,每个全局的 HTTP Session 都会创建一个新的 Bean 实例。
2. Bean 的生命周期
Bean 的生命周期指的是 Bean 实例从创建到销毁的整个过程。Spring 提供了以下七个阶段:
- 实例化 Bean:Spring 根据 Bean 的定义创建一个 Bean 的实例。
- 设置 Bean 属性:Spring 将配置文件中的属性设置到 Bean 实例中。
- BeanNameAware:如果 Bean 实现了 BeanNameAware 接口,Spring 将 Bean 的 ID 传递给 setBeanName 方法。
- BeanFactoryAware:如果 Bean 实现了 BeanFactoryAware 接口,Spring 将 BeanFactory 实例传递给 setBeanFactory 方法。
- InitializingBean:如果 Bean 实现了 InitializingBean 接口,Spring 将调用 afterPropertiesSet 方法。
- 自定义初始化方法:Bean 可以配置自定义的初始化方法。
- DisposableBean:如果 Bean 实现了 DisposableBean 接口,Spring 将调用 destroy 方法。
- 自定义销毁方法:Bean 可以配置自定义的销毁方法。
以上就是 Spring Bean 的作用域和生命周期的简单介绍。理解 Bean 的作用域和生命周期对于正确使用 Spring 框架非常重要。
阅读全文