(三)Spring详解——创建bean实例

本文介绍了Bean实例的三种创建方式:默认构造器、带参数构造器及通过工厂类创建。同时展示了如何利用XML配置文件来指定这些创建方式的具体实现。

Bean配置

Bean的定义

  • id,bean的名字,实例名,必须唯一(name,别名也必须唯一)
  • class,全类名
  • Bean的创建方式(三种方式)
  • Bean之间的关系(两种依赖注入方式)

先附上实体类和工厂类

public class Goods {
    private String name;
    private double price;
    private int num;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public int getNum() {
        return num;
    }
    public void setNum(int num) {
        this.num = num;
    }
    public Goods(String name, double price, int num) {
        super();
        this.name = name;
        this.price = price;
        this.num = num;
    }
    public Goods() {
    }
}
public class GoodsFactory {
    public static Goods newInstance(String name, double price, int num) {
        return new Goods(name, price, num);
    }
    public Goods createGoods(String name, double price, int num) {
        return new Goods(name, price, num);
    }
}

Bean实例的创建

  • 默认构造器
<bean id="good" class="com.shinerio.domain.Goods"></bean>
  • 带参构造器
    <bean id="good" class="com.shinerio.domain.Goods">
        <constructor-arg index="0" value="可乐"></constructor-arg>
        <constructor-arg index="1" value="3.0"></constructor-arg>
        <constructor-arg index="2" value="100"></constructor-arg>
    </bean>
  • 工厂类的静态方法
    <bean id="good" class="com.shinerio.factory.GoodsFactory" factory-method="newInstance">
        <constructor-arg index="0" value="可乐"></constructor-arg>
        <constructor-arg index="1" value="3.0"></constructor-arg>
        <constructor-arg index="2" value="100"></constructor-arg>
    </bean>
  • 工厂类的实例方法
<bean id="goodsFactory" class="com.shinerio.factory.GoodsFactory"> </bean>
    <bean id="good" class="com.shinerio.domain.Goods" factory-bean="goodsFactory" factory-method="createGoods">
        <constructor-arg index="0" value="可乐"></constructor-arg>
        <constructor-arg index="1" value="3.0"></constructor-arg>
        <constructor-arg index="2" value="100"></constructor-arg>
    </bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值