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]
本文详细介绍了Spring框架中两种主要的依赖注入方式:构造函数注入和setter注入。通过具体的代码示例和XML配置文件展示了如何使用这两种注入方式来初始化Bean。
1006

被折叠的 条评论
为什么被折叠?



