1. 程式人生 > >spring之scope作用域

spring之scope作用域

tle .cn lob height 模式 新建 應用 let image

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作用域