通过实例工厂方法配置
- 建立一个工厂类,写上构造函数
private Map<String,Car> cars = null;
public InstanceCarfactory(){
cars = new HashMap<String, Car>();
cars.put("audi",new Car("audi",30000));
cars.put("ford",new Car("ford",40000));
}
public Car getCar(String brand){
return cars.get(brand);
}
- 在xml文件中配置bean
<!--配置工厂的实例-->
<bean id="carFactory" class="com.sofia.spring.beans.factory.InstanceCarfactory"></bean>
<!--通过实例工厂方法来配置bean-->
<!--
factory-bean:指向静态工厂方法的bean
factory-method: 指向静态方法的名字
constructor-arg:如果工厂方法需要传入参数,则使用constructor-arg来配置参数
-->
<bean id="car2" factory-bean="carFactory" factory-method="getCar">
<constructor-arg value="audi"></constructor-arg>
</bean>
- 最后在主函数输出即可
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-factory.xml");
Car car2 = (Car) ctx.getBean("car2");
System.out.println(car2);
可以参考上一篇文章看看与静态工厂方法有什么区别~
Spring配置bean之静态工厂方法

本文介绍如何在Spring中使用实例工厂方法配置Bean。通过创建一个工厂类并定义构造函数,实现不同品牌的Car实例的创建与管理。在XML中配置bean,通过factory-bean和factory-method属性指定工厂实例及方法,最后演示了如何从ApplicationContext获取并输出Car实例。
174

被折叠的 条评论
为什么被折叠?



