1、说明

   constructor-arg:通过构造函数注入。
   property:通过setter对应的方法注入。

2、constructor-arg的使用示例

   (1)、Model代码:

publicclassStudent {privateInteger id;privateString name;privateList
dream;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]