// 自定义的FactoryBean 需要实现FactoryBean接口
public class CarFactoryBean implements FactoryBean<Car> {
@Override
public Car getObject() throws Exception {
return new Car("BMW",500000);
}
// 返回的bean的类型
@Override
public Class<?> getObjectType() {
return Car.class;
}
@Override
public boolean isSingleton() {
return true;
}
private String brand;
public void setBrand(String brand){
this.brand = brand;
}
}
// XML
<!-- 通过FactoryBean来配置Bean的实例
class:指向FactoryBean的全类名
property:配置FactoryBean的属性
但实际返回的实例确实FactoryBean的getObject()方法来返回的实例
-->
<bean id="car" class="com.sangyu.test04.CarFactoryBean">
<property name="brand" value="BMW"></property>
</bean>