Spring配置bean之实例工厂方法

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过实例工厂方法配置

  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之静态工厂方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值