spring之scope作用域
spring中,bean的作用域有五種類型:默認是單例模式,
singleton
prototype
request
session
global session
配置作用域時,使用 scope屬性,xml文件配置如下,
查看spring官方文檔,解釋如下:
1、singleton
如果一個bean配置為singelton,表示該bean在spring IOC容器中只有一個實例,也就是單例
配置如下:下面兩種配置是一樣的,默認使用singleton
可以新建spring工程進行測試:觀察返回為true還是false
2、prototype
prototype作用域部署的bean,每一次請求都會產生一個新的bean實例,相當與一個new的操作
對於prototype新建的實例,spring容器不會執行他的生命周期回調方法,可以參考我寫的spring之生命周期文檔。
spring官方文檔中解釋如下
3、request, session, and global session scopes這三種作用域主要用在web中,
request:表示該針對每一次HTTP請求都會產生一個新的bean,同時該bean僅在當前HTTP request內有效
session:表示該針對每一次HTTP請求都會產生一個新的bean,同時該bean僅在當前HTTP session內有效
global session:表示該針對每一次HTTP請求都會產生一個新的bean,不過它僅僅在基於portlet的web應用中才有意義
spring之scope作用域