使用工廠方法創(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ù)

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

二、使用實例化工廠的方式創(chuàng)建bean
2.1 實例化一個工廠方法 首先需要創(chuàng)建一個實例工廠的bean,class指向?qū)嵗S方法,創(chuàng)建一個工廠方法實例
**2.2 通過工廠方法實例提供指定的對象
factory-bean:指向工廠方法
factory-method:提供bean的方法
**

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

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

3.3 在xml中配置factory對應的bean

3.4 使用FactoryBean獲取bean的實例
