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

来源:互联网 发布:mplayerx for mac下载 编辑:程序博客网 时间:2024/05/16 00:56

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>
0 0
原创粉丝点击