5.Spring--使用工廠方法配置bean

使用工廠方法創(chuàng)建bean

除了直接在xml中通過放射直接創(chuàng)建bean,Spring還提供了使用工廠方法創(chuàng)建bean的功能。Spring支持兩種模式提供bean。

1.靜態(tài)工廠
2.實例工廠

一、靜態(tài)工廠創(chuàng)建提供bean

1.1 靜態(tài)工廠不需要實例化工廠本身,需要提供一個注入bean對象的方法,例如:getCar方法。注意該方法也必須是靜態(tài)的,利用靜態(tài)工廠方法定義的bean item種, class屬性不在是bean的全類名, 而是靜態(tài)工廠的全類名, 而且還需要指定工廠里的
getBean 靜態(tài)方法名字和參數(shù)

Paste_Image.png

1.2在xml中配置靜態(tài)工廠
factory-method:指向靜態(tài)的提供相應bean的方法
constructor-arg :對應提供bean函數(shù)的方法參數(shù)。

Paste_Image.png

二、使用實例化工廠的方式創(chuàng)建bean

2.1 實例化一個工廠方法 首先需要創(chuàng)建一個實例工廠的bean,class指向?qū)嵗S方法,創(chuàng)建一個工廠方法實例

**2.2 通過工廠方法實例提供指定的對象
factory-bean:指向工廠方法
factory-method:提供bean的方法
**


Paste_Image.png

2.3 直接向getAudi索取指定的bean時,首先會創(chuàng)建carFactory,然后通過getCar方法獲取bean對象

Paste_Image.png

三、使用FactoryBean創(chuàng)建bean

3.1 首先創(chuàng)建一個Factory實現(xiàn)FactoryBean接口
3.2 實現(xiàn)getObject,getObjectType方法,getObject方法返回要創(chuàng)建的對象,在實際通過FactoryBean拿到對象時就是通過getObject方法,getObjectType指定要返回對象的類型

Paste_Image.png

3.3 在xml中配置factory對應的bean

Paste_Image.png

3.4 使用FactoryBean獲取bean的實例

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

相關閱讀更多精彩內(nèi)容

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