1、说明
constructor-arg:通过构造函数注入。
property:通过setter对应的方法注入。
2、constructor-arg的使用示例
(1)、Model代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
< bean id = "student" class = "com.rc.sp.Student" > < constructor-arg name = "id" value = "1" /> < constructor-arg name = "name" value = "student" /> < constructor-arg name = "dream" > < list > < value >soldier</ value > < value >scientist</ value > < value >pilot</ value > </ list > </ constructor-arg > < constructor-arg name = "score" > < map > < entry key = "math" value = "90" /> < entry key = "english" value = "85" /> </ map > </ constructor-arg > < constructor-arg name = "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代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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配置:
1
2
3
4
|
< bean id = "teacher" class = "com.rc.sp.Teacher" > < property name = "id" value = "1" ></ property > < property name = "name" value = "teacher" ></ property > </ bean > |
4、Test
(1)、测试代码:
1
2
3
4
5
6
7
8
9
10
11
12
|
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]