【聚搜云】是上海聚搜信息技術(shù)有限公司旗下品牌,坐落于魔都上海,服務(wù)于全球、2019年成為阿里云代理商生態(tài)合作伙伴。與阿里云代理商、騰訊云、華為云、西部數(shù)碼、美橙互聯(lián)、AWS亞馬遜云國(guó)際站渠道商、聚搜云,長(zhǎng)期戰(zhàn)略合作的計(jì)劃!華為云國(guó)際站代理商專業(yè)的云服務(wù)商!
本文由華為云渠道商[聚搜云] [ www.4526.cn]撰寫(xiě)。對(duì)于Spring中Bean的作用域,您是否也感到困惑?在本文中,我們將會(huì)一一列出Spring中常見(jiàn)的Bean作用域,并進(jìn)行詳盡解釋。
1、singleton
singleton 是 Spring Bean 的默認(rèn)作用域。singleton 代表對(duì)于給定的 Spring IoC 容器,只會(huì)創(chuàng)建 Bean 的單個(gè)實(shí)例。每次對(duì)該 Bean 進(jìn)行請(qǐng)求時(shí),都會(huì)返回唯一的0 個(gè)實(shí)例。
2、prototype
prototype 作用域則代表每次向 Spring IoC 容器請(qǐng)求,都會(huì)創(chuàng)建一個(gè)新的Bean實(shí)例。這種方式主要使用在程序需要通過(guò) Bean 容器來(lái)進(jìn)行管理,但每個(gè)實(shí)例又需要有自己的屬性時(shí)。
3、request
request級(jí)別情況是當(dāng)一個(gè)請(qǐng)求被Servlet接收到之后,每個(gè)請(qǐng)求都會(huì)有各自獨(dú)立的處理線程,Spring會(huì)將在這個(gè)Web請(qǐng)求中使用到的Bean對(duì)象存儲(chǔ)于request對(duì)象中,所以它們都在同一線程下,不會(huì)出現(xiàn)互相覆蓋的情況。
4、session
session級(jí)別作用域主要通過(guò)在HttpSession中存儲(chǔ)Bean的實(shí)例對(duì)象,在整個(gè)會(huì)話過(guò)程中都將他作為一個(gè)全局變量來(lái)使用,使用戶與容器之間的交互得到良好支持。
5、global-session
在基于portlet的Web應(yīng)用中,該作用域僅僅在基于portlet的Web應(yīng)用中才有意義。global-session代表全局會(huì)話,它與表示Servlet API HttpSession相似,只不過(guò)它僅僅在基于portlet的上下文中存在。
以上就是Spring中常見(jiàn)的Bean作用域。了解這些常見(jiàn)的作用域?qū)τ谖覀兊拈_(kāi)發(fā)十分重要,能夠更深入地理解和運(yùn)用Spring框架。