Spring高手之路-Spring中Bean的五大作用域

发布时间:2024年01月03日

目录

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会话一起使用。

五大作用域范围对比

作用域设置

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

也可以通过@Scope注解

文章来源:https://blog.csdn.net/qq_62262918/article/details/135360689
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。