Spring @scope注解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sayyy/article/details/82918442

@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 session global 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>

猜你喜欢

转载自blog.csdn.net/sayyy/article/details/82918442
今日推荐