Bean 的作用域你知道么 ?

Bean 的作用域有哪些?

所谓的作用域,其实就是说这个东西在哪个范围内可以被使用 , 如我们定义类的成员变量的时候使用的public,private等这些也是作用域的概念

Spring的Bean的作用域, 描述的就是这个Bean在哪个范围内可以被使用. 不同的作用域决定了Bean的创建, 管理和销毁的方式

常见的作用域有Singleton , Prototype , Request , Session , Applciation这5种. 我们在代码中,可以在定义一个Bean的时候,通过@Scope注解来指定它的作用域

@Service
@Scope("prototype")
public class Service() {
​
}
  1. 单例(Singleton) :

    • 默认作用域

    • 对于每个Spring IOC容器,只创建一个Bean实例

    • 适用于全局共享的状态

  1. 原型(Prototype) :

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

    • 适用于所有状态都是非共享的情况

  2. 请求(Request) :

    • 仅仅在Web应用程序中有效

    • 每个HTTP请求都会创建一个新的Bean实例

    • 用于请求级别的数据存储和处理

  3. 会话(Session) :

    • 仅仅在Web应用程序中有效

    • 每个HTTP会话都会创建一个新的Bean实例

    • 适用于会话级别的数据存储和处理

  4. 应用(Application) :

    • 仅仅在Web应用程序中有效

    • 在ServletContext在生命周期内 , 只创建一个Bean实例

    • 适用于全应用程序级别的共享数据

  5. Websocket :

    • 仅仅在Web应用程序中有效

    • 在WebSocket的生命周期内,只创建一个Bean实例

    • 适用于webSocket级别的共享数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值