聊聊Spring4.x常用配置(一):Bean的Scope

虐殺原形 文章 技術 走向架構師之路 2017-05-13

原文地址:http://blog.longjiazuo.com/archives/1289

聊聊Spring4.x常用配置(一):Bean的Scope

這是對spring4.x的相關特性的一個總結和整理,是一系列文章,歡迎大家閱讀,交流,討論。

一. 點睛

Scope描述的是Spring容器如何新建Bean的實例的。Spring的Scope有以下幾種,通過@Scope註解來實現。

(1) Singleton:一個Spring容器中只有一個Bean的實例,此為Spring的默認配置,全容器共享一個實例。

(2) Prototype:每次調用新建一個Bean的實例。

(3) Request:Web項目中,給每一個http request新建一個bean實例。

(4) Session:Web項目中,給每一個http session新建一個bean實例。

(5) GlobalSession:這個只在portal應用中有用,給每一個global http session新建一個bean實例。另外,在Spring Batch中還有一個Scope是使用@StepScope,後面有時間寫會說到。

下面簡單演示默認的singleton和prototype,分別從Spring容器中獲得2次Bean,判斷Bean的實例是否相等。

二. 實例

1. 編寫Singleton的Bean

聊聊Spring4.x常用配置(一):Bean的Scope

代碼解釋:

①默認為Singleton,相當於@Scope("singleton")。

2. 編寫Prototype的Bean

聊聊Spring4.x常用配置(一):Bean的Scope

代碼解釋:

①聲明Scope為Prototype

3. 配置類

聊聊Spring4.x常用配置(一):Bean的Scope

4. 運行

聊聊Spring4.x常用配置(一):Bean的Scope

運行結果如下圖所示:

聊聊Spring4.x常用配置(一):Bean的Scope

需要閱讀和下載源碼的朋友請訪問原文地址

相關推薦

推薦中...