欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring配置bean之实例工厂方法

程序员文章站 2022-05-23 15:02:07
...

通过实例工厂方法配置

  1. 建立一个工厂类,写上构造函数
  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);
    }
  1. 在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>
  1. 最后在主函数输出即可
 ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-factory.xml");
        Car car2 = (Car) ctx.getBean("car2");
        System.out.println(car2);

可以参考上一篇文章看看与静态工厂方法有什么区别~
Spring配置bean之静态工厂方法