Spring Bean Scope 作用域详解
Scope 定义了 Spring 容器创建 Bean 实例的策略。
在创建 Bean 时可以指定 scope 属性,常见类型如下:
- Singleton
- Spring 默认 scope,容器只创建一个 Bean 实例并缓存,后续复用,即单例模式。
- Prototype
- 代表每次从容器获取 Bean 时都新创建一个实例。
- Request
- 表示每个 HTTP 请求作用域内只创建一个实例。
- Session
- 表示每个 HTTP Session 作用域内只创建一个实例。
- GlobalSession
- 仅在 Portlet Web 应用程序中有意义,映射到 Portlet 的全局范围 Session。普通 Web 应用使用此 scope 时,容器会将其视为普通 Session 作用域。
配置方式
XML 方式
<bean id="student" class="Student" scope="prototype" />
注解方式
@Component @Scope("prototype") public class Student { }


