自定義Bean作用域

步驟一: 實(shí)現(xiàn)Scope接口?

第二步注冊作用域

在上例子中

第一步要創(chuàng)建一個User類型的Bean放入容器中,這個Bean被@Scope(自定義作用域名稱) 修飾, 標(biāo)明它的作用域是自定義類型的

第二步使用ConfigurableBeanFactory#registerScope(自定義作用域名,自定義作用域?qū)ο? 將自定義作用域注冊到容器中

當(dāng)根據(jù)類型獲取User類型的Bean的時候,IOC容器會檢測到該Bean被@Scope()修飾,則會回調(diào)自定義作用域的get()方法, 第一個參數(shù)是你要獲取的Bean在IOC容器中的名稱 第二個參數(shù)是通過延遲注入的方式在IOC容器中獲取的User對象,表現(xiàn)為ObjectFactory (此時ObjectFactory.getObject()得到的就是默認(rèn)情況下getBean的結(jié)果,這里由于要自定義作用域,所以IOC容器把要注入的Bean變成ObjectFactory作為參數(shù)傳遞到get()方法中,讓我們自定義操作Bean)

?著作權(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)容