Spring配置bean之实例工厂方法
程序员文章站
2022-05-23 15:02:07
...
通过实例工厂方法配置
- 建立一个工厂类,写上构造函数
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之静态工厂方法