Spring中的@scope注解


默認是單例模式,即scope="singleton"。另外scope還有prototype、request、session、global session作用域。scope="prototype"多例

@scope默認是單例模式(singleton)

如果需要設置的話@scope("prototype")

1.singleton單例模式,

  全局有且僅有一個實例

2.prototype原型模式,

  每次獲取Bean的時候會有一個新的實例

3.request

  request表示該針對每一次HTTP請求都會產生一個新的bean,同時該bean僅在當前HTTP request內有效,配置實例:
request、session、global session使用的時候首先要在初始化web的web.xml中做如下配置:
如果你使用的是Servlet 2.4及以上的web容器,那么你僅需要在web應用的XML聲明文件web.xml中增加下述ContextListener即可: 
<web-app>
   ...
  <listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
  </listener>
   ...
</web-app>

4.session

  session作用域表示該針對每一次HTTP請求都會產生一個新的bean,同時該bean僅在當前HTTP session內有效

5.global session

global session作用域類似於標准的HTTP Session作用域,不過它僅僅在基於portlet的web應用中才有意義。Portlet規范定義了全局Session的概念,它被所有構成某個 portlet web應用的各種不同的portlet所共享。在global session作用域中定義的bean被限定於全局portlet Session的生命周期范圍內。如果你在web中使用global session作用域來標識bean,那么web會自動當成session類型來使用。

但是一般常見的話一般會使用上面1和2兩種


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM