【深入Spring】Spring中bean的scope

一.bean的作用域(scope)常見的有兩種配置項(xiàng)(單例模式singleton/原型模式prototype)
1.單例模式singleton(默認(rèn)取值為singleton---對象只創(chuàng)建一次)
<bean id="someService" class="com.bjsxt.service.impl.SomeServiceImpl" scope="singleton">
2.原型模式prototype(每次獲取的實(shí)例都是一個新實(shí)例)
<bean id="someService" class="com.bjsxt.service.impl.SomeServiceImpl" scope="prototype">
二.scope配置項(xiàng)有還有另外3個屬性,用于描述不同的作用域。
3.request
該屬性僅對HTTP請求產(chǎn)生作用,使用該屬性定義Bean時,每次HTTP請求都會創(chuàng)建一個新的Bean,適用于WebApplicationContext環(huán)境。
4.session
該屬性僅用于HTTP Session,同一個Session共享一個Bean實(shí)例。不同Session使用不同的實(shí)例。
5.global-session
該屬性僅用于HTTP Session,同session作用域不同的是,所有的Session共享一個Bean實(shí)例
三.總結(jié)

Spring IOC容器創(chuàng)建一個Bean實(shí)例時,可以為Bean指定實(shí)例的作用域,作用域包括singleton(單例模式)、prototype(原型模式)、request(HTTP請求)、session(會話)、global-session(全局會話)。

singleton和prototype模式,這兩個模式的作用域在Spring框架中是經(jīng)常用到的。對于singleton作用域的Bean,IOC容器每次都返回同一個實(shí)例,而prototype作用域的Bean,IOC容器每次產(chǎn)生一個新的實(shí)例

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容