Spring @scope注解

本文详细解析Spring框架中@Scope注解的使用方法及各作用域含义,包括singleton、prototype、request、session和globalsession,阐述不同作用域下Bean的生命周期与应用场景,并指出在特定作用域下web.xml配置需求。

@scope注解使用方式:

@scope("prototype")

@scope注解可取值:

  • singleton
  • prototype
  • request
  • session
  • global session

@scope注解默认是singleton(单例模式),即scope=“singleton”。

各个作用域的解释:

scope说明
singleton单例模式全局有且仅有一个实例
prototype原型模式每次获取Bean的时候会有一个新的实例
request每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效
session每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效
global sessionglobal session作用域类似于标准的HTTP Session作用域,不过它仅仅在基于portlet的web应用中才有意义。Portlet规范定义了全局Session的概念,它被所有构成某个 portlet web应用的各种不同的portlet所共享。在global session作用域中定义的bean被限定于全局portlet Session的生命周期范围内。如果你在web中使用global session作用域来标识bean,那么web会自动当成session类型来使用。

特殊说明:
当scope为request、session、global session时,要在初始化web的web.xml中做如下配置:

<web-app>
   ...
  <listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
  </listener>
   ...
</web-app>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值