Spring Bean Scopes 使我们可以更精细地控制Bean实例的创建。有时我们想将bean实例创建为单例,但在其他情况下,我们可能希望在每个请求中或在会话中创建一次。
Spring Bean范围如下
- Singleton (每个)将每个bean定义的范围限定到每个Spring IoC容器的单个对象实例。
- 原型将单个Bean定义的作用域限定为任意数量的对象实例。
- 请求:将单个bean定义的范围限定为单个HTTP请求的生命周期;也就是说,每个HTTP请求都将在单个bean定义的后面创建自己的bean实例。仅在可感知网络的Spring ApplicationContext上下文中有效。
- 会话将单个bean定义的作用域限定为HTTP会话的生命周期。仅在可感知网络的Spring ApplicationContext上下文中有效。
- 全局会话将单个bean定义的范围限定在全局HTTP会话的生命周期中。通常仅在portlet上下文中使用时才有效。仅在可感知网络的Spring ApplicationContext上下文中有效。
有关更多详细信息,read this Spring文档。