1、说明
constructor-arg:通过构造函数注入。
property:通过setter对应的方法注入。
2、constructor-arg的使用示例
(1)、Model代码:
publicclassStudent {privateInteger id;privateString name;privateListdream;privateMap score;privatebooleangraduation;publicStudent() {}publicStudent(Integer id, String name, List dream,Map score, booleangraduation) {this.id = id;this.name = name;this.dream = dream;this.score = score;this.graduation = graduation;}@OverridepublicString toString() {return"Student [id="+ id + ", name="+ name + ", dream="+ dream+ ", score="+ score + ", graduation="+ graduation + "]";}}
(2)、xml配置:
soldier scientist pilot
说明:<
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;}@OverridepublicString toString() {return"Teacher [id="+ id + ", name="+ name + "]";}}
(2)、xml配置:
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]