當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring中的@scope注解
生活随笔
收集整理的這篇文章主要介紹了
Spring中的@scope注解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
@Scope 簡單點說就是用來指定bean的作用域作用域 (官方解釋:scope用來聲明IOC容器中的對象應該處的限定場景或者說該對象的存活空間,即在IOC容器在對象進入相應的scope之前,生成并裝配這些對象,在該對象不再處于這些scope的限定之后,容器通常會銷毀這些對象),其默認作用域是"singleton",如果要換成其他作用區域,直接后面添加類型即可,比如@Scope("prototype") 則為多例。IOC容器中的對象應該處的限定場景或者說該對象的存活空間,即在IOC容器在對象進入相應的scope之前,生成并裝配這些對象,在該對象不再處于這些scope的限定之后,容器通常會銷毀這些對象),其默認作用域是"singleton",如果要換成其他作用區域,直接后面添加類型即可,比如@Scope("prototype") 則為多例。默認是單例模式,即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即可:?| 1 2 3 4 5 6 7 | <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兩種
?
總結
以上是生活随笔為你收集整理的Spring中的@scope注解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU2855 Fibonacci Ch
- 下一篇: JS动态添加、删除classl类