Spring的bean作用域

2021-08-25 06:39:48 字數 1096 閱讀 8664

接著既可以配置bean的作用域了:

4、session

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

配置例項:

和request配置例項的前提一樣,配置好web啟動檔案就可以如下配置:

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型別來使用。

配置例項:

和request配置例項的前提一樣,配置好web啟動檔案就可以如下配置:

6、自定義bean裝配作用域

在spring2.0中作用域是可以任意擴充套件的,你可以自定義作用域,甚至你也可以重新定義已有的作用域(但是你不能覆蓋singleton和prototype),spring的作用域由介面org.springframework.beans.factory.config.scope來定義,自定義自己的作用域只要實現該介面即可,下面給個例項:

我們建立乙個執行緒的scope,該scope在表示乙個執行緒中有效,**如下:

publicclass myscope implements scope ...

}; public object get(string name, objectfactory objectfactory) ...

return object;

} public object remove(string name) ...

publicvoid registerdestructioncallback(string name, runnable callback) ...

public string getconversationid() ...

}

Spring中Bean的作用域

bean作用域 作用域描述 singleton 在每個spring ioc容器中乙個bean定義對應乙個物件例項。整個容器中只有該bean的唯一例項 prototype 乙個bean定義對應多個物件例項。request session global session 因為這樣在配置中的任何錯誤就會即刻...

spring中bean的作用域

如何使用spring的作用域 這裡的scope就是用來配置spring bean的作用域,它標識bean的作用域。在spring2.0之前bean只有2種作用域即 singleton 單例 non singleton 也稱prototype spring2.0以後,增加了session reques...

Spring中bean的作用域

1 singleton作用域 當乙個bean的作用域設定為singleton,spring ioc容器只會建立該bean定義的唯一例項。2 prototype prototype作用域部署的bean,每一次請求都會產生乙個新的bean例項,相當與乙個new的操作。3 request request表...