Spring IOC使用(1) bean的注入

来源:互联网 发布:gcc windows下载 编辑:程序博客网 时间:2024/05/16 03:22

1. 测试类

public class Member {    private String name;    private Integer age;    private String address;    public Member(String name, Integer age) {        this.name = name;        this.age = age;    }    public Member(String name, String address) {        this.name = name;        this.address = address;    }    public Member(String name, Integer age, String address) {        super();        this.name = name;        this.age = age;        this.address = address;    }}

2. 构造注入

2.1 根据下标进行注入

<!-- 下标 --><!-- 如果没有对应的构造器,则会报错 --><!-- 也可能有不只一个对应的构造器,如下面例子中,即符合String,Integer构造器,也符合String, String构造器 --><bean id="member1" class="com.emmairving.spring.bean.Member">    <constructor-arg index="0" value="name1"/>    <constructor-arg index="1" value="12"/></bean>

2.2 根据参数名传递

<!-- 根据名称构造,推荐使用这种方式 --><!-- 很少有多个构造器的所有参数名相同的情况。如果出现,则会选择其中一个进行赋值。 --><!-- 如果不存在构造器,则会报错 --><bean id="member2" class="com.emmairving.spring.bean.Member">    <constructor-arg name="name" value="name2"/>    <constructor-arg name="age" value="12"/></bean>

2.3 参数类型

<!-- 根据类型进行构造 --><!-- 参数顺序是按照构造器中变量顺序 --><!-- 参数顺序不一定完全按照构造器中,如以下例子。构造器中的顺序是Spring Integer String,而下面顺序是String String Integer --><!-- 如果参数类型的数量不一致,则会报错 --><bean id="member3" class="com.emmairving.spring.bean.Member">    <constructor-arg type="java.lang.String" value="name3"/>    <constructor-arg type="java.lang.String" value="address3"/>    <constructor-arg type="java.lang.Integer" value="12"/></bean>

2.4 直接注入

<!-- 直接构造 --><!-- 参数列表的数量、类型必须与构造器完全一致,参数类型也不能变 --><!-- 也可能出现同时满足多组数据的情况,不会报错,会选择其中一个 --><bean id="member4" class="com.emmairving.spring.bean.Member">    <constructor-arg value="name4"/>    <constructor-arg value="12"/></bean>

3. 设值注入

<!-- 设值注入 --><!-- 本质就是指定变量名,通过变量的setter方法注入 --><!-- 不使用构造注入时,bean必须有无参数构造器,否则会报错 --><bean id="member5" class="com.emmairving.spring.bean.Member">    <property name="name" value="name5"/></bean>

4. 参考资料

  1. http://blog.csdn.net/liuxiaogangqq/article/details/8848844
0 0
原创粉丝点击