Spring中Bean的配置方式之FactoryBean
阿新 • • 發佈:2017-08-02
alt mage -1 bsp image 技術分享 logs 指向 urn
Spring 中有兩種類型的 Bean, 一種是普通Bean, 另一種是工廠Bean, 即FactoryBean.
工廠 Bean 跟普通Bean不同, 其返回的對象不是指定類的一個實例, 其返回的是該工廠 Bean 的 getObject 方法所返回的對象
相關代碼:
Car.java
private String brand; private double price;
CarFactoryBean.java
public class CarFactoryBean implements FactoryBean<Car>{ private String brand;public void setBrand(String brand) { this.brand = brand; } //返回bean的對象 @Override public Car getObject() throws Exception { return new Car(brand,500000); } //返回bean的類型 @Override public Class<?> getObjectType() { return Car.class; } @Override public boolean isSingleton() { return true; } }
bean-factorybean.xml
<!-- 通過FactoryBean來配置bean的實例 class:指向FactoryBean的全類名 property:配置的時FactoryBean的屬性 但實際返回的實例卻是FactoryBean的getObject()方法的實例 --> <bean id="car" class="com.yslf.factorybean.CarFactoryBean"> <property name="brand" value="BMW"></property> </bean>
Spring中Bean的配置方式之FactoryBean