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

1、說明

   constructor-arg:通過構造函數注入。
   property:通過setter對應的方法注入。


2、constructor-arg的使用示例

   (1)、Model代碼:

publicclassStudent {
privateInteger id;
privateString name;
privateList<String> dream;
privateMap<String, Integer> score;
privatebooleangraduation;
publicStudent() {
}
publicStudent(Integer id, String name, List<String> dream,
Map<String, Integer> score, booleangraduation) {
this.id = id;
this.name = name;
this.dream = dream;
this.score = score;
this.graduation = graduation;
}
@Override
publicString toString() {
return"Student [id="+ id + ", name="+ name + ", dream="+ dream
+ ", score="+ score + ", graduation="+ graduation + "]";
}
}

   (2)、xml配置:

<beanid="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填充。


3、property的使用示例

   (1)、Model代碼:

publicclassTeacher {
privateInteger id;
privateString name;
publicInteger getId() {
returnid;
}
publicvoidsetId(Integer id) {
this.id = id;
}
publicString getName() {
returnname;
}
publicvoidsetName(String name) {
this.name = name;
}
@Override
publicString toString() {
return"Teacher [id="+ id + ", name="+ name + "]";
}
}


   (2)、xml配置:

<beanid="teacher"class="com.rc.sp.Teacher">
<propertyname="id"value="1"></property>
<propertyname="name"value="teacher"></property>
</bean>


4、Test

   (1)、測試代碼:

publiccla***un {
publicstaticvoidmain(String[] args) {
ApplicationContext context = newClassPathXmlApplicationContext(
"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]




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章