Spring中Bean的五大作用域

目录

Singleton(单例):默认的作用域

Prototype(原型)

Request(请求)

Session(会话)

Global Session(全局会话)

五大作用域范围对比

作用域设置


 在Spring框架中,Bean的作用域指定了对象的生命周期和访问范围。Spring提供了五种Bean的作用域

1.Singleton(单例):默认的作用域

在整个应用程序中只创建一个Bean实例。

所有对该Bean的请求都将返回同一个实例。

Bean是全局共享的,适用于无状态的Bean或者需要在多个组件之间共享数据的情况。

2.Prototype(原型)

每次对Bean的请求都会创建一个新的实例。

没有共享状态,适用于有状态的Bean或者需要频繁创建新实例的情况。

3.Request(请求)

在每个HTTP请求中创建一个新的Bean实例。

每个请求的Bean实例对于该请求是唯一的。

仅在Web应用程序的上下文中有效,适用于处理HTTP请求的控制器或服务。

4.Session(会话)

在每个用户会话(Session)中创建一个新的Bean实例。

对于同一用户的所有请求,都将使用相同的Bean实例。

仅在Web应用程序的上下文中有效,适用于保存用户特定的数据或状态。

5.Global Session(全局会话)

在整个应用程序的全局会话中创建一个新的Bean实例。

仅在基于Portlet的Web应用程序中有效,通常与Portlet会话一起使用。

五大作用域范围对比

Spring中Bean的五大作用域

作用域设置

可以通过Bean标签的scope属性设置

Spring中Bean的五大作用域

也可以通过@Scope注解

Spring中Bean的五大作用域

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/c3e26f9c8c.html