您的位置:首页 > 编程语言 > Java开发

Spring - constructor-arg和property的使用示例

2014-04-01 21:35 232 查看
一、说明

    constructor-arg:通过构造函数注入。 

    property:通过setter对应的方法注入。

二、constructor-arg的使用示例

    1、Model代码:

public class Student {
private Integer id;
private String name;
private List<String> dream;
private Map<String, Integer> score;
private boolean graduation;

public Student() {
}

public Student(Integer id, String name, List<String> dream,
Map<String, Integer> score, boolean graduation) {
this.id = id;
this.name = name;
this.dream = dream;
this.score = score;
this.graduation = graduation;
}

@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", dream=" + dream
+ ", score=" + score + ", graduation=" + graduation + "]";
}
}
    2、xml配置:

<bean id="student"class="com.rc.sp.Student">
<constructor-argname="id" value="1"/>
<constructor-argname="name" value="student"/>
<constructor-argname="dream">
<list>
<value>soldier</value>
<value>scientist</value>
<value>pilot</value>
</list>
</constructor-arg>
<constructor-argname="score">
<map>
<entrykey="math" value="90"/>
<entrykey="english" value="85"/>
</map>
</constructor-arg>
<constructor-argname="graduation" value="false"/>
</bean>
    说明:<constructor-arg name="id" value="1"/>也可以改成<constructor-arg index="0" value="1"/>方式;boolean的值既可以用0/1填充,也可以用true/false填充。

三、property的使用示例

    1、Model代码:

public class Teacher {
private Integer id;
private String name;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

@Override
public String toString() {
return "Teacher [id=" + id + ", name=" + name + "]";
}
}
    2、xml配置:

<bean id="teacher" class="com.rc.sp.Teacher">
<property name="id" value="1"></property>
<property name="name" value="teacher"></property>
</bean>
四、Test

    1、测试代码:

public class Run {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Student student = (Student) context.getBean("student");
System.out.println(student);
Teacher teacher = (Teacher) context.getBean("teacher");
System.out.println(teacher);
}
}

    2、输出结果:

Student [id=1, name=student, dream=[soldier, scientist, pilot],score={math=90, english=85}, graduation=false]
Teacher [id=1, name=teacher]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: