Spring 中 Bean 的 scope 用法解析

前言:

        所谓scope,是指用来声明 IOC 容器中的对象应该处的限定场景或着说是该对象的存货空间;即,在 IOC 容器在对象进入相应的 scope之前,生成并装配这些对象,在该对象不在处于这些 scope 的限定之后,容器通常会销毁这些对象。

1. scope 的分类:

        在 Spring 2.0 之前,scope 有 singleton 和 prototype 两种;

        而在 Spring 2.0 之后,为支持 web 应用的 ApplicatonContext,增加了另外三种:request、session、global session 专用于 web 应用程序上下文的 bean 的类型;因此,默认情况下 Spring 2.0 之后的版本有5种类型的 bean。当然,Spring 2.0 对 bean 的类型的设计进行了重构,并设计出灵活的 bean 类型支持,理论上可以有无数多种类型的 bean,用户可以根据自己的需要增加新的 bean 类型以满足实际应用得需要。

2. singleton (单一实例)

       当 Spring 中某个 bean 的 scope 取值为 singleton 时,表示 Spring IOC 容器中只会存在一个共享的 bean 实例,并且所有对该 bean 的请求只要 id 与该 bean 定义相匹配,则只会返回 bean 的同一个实例。

       也就是说,当把一个bean 定义设置为 singleton 作用域时,Spring IOC 容器只会创建该 bean 定义的唯一实例;这个单一实例会被存储到单例缓存 (s

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值