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]