java Spring中如何实现依赖注入
内容摘要
总得来说,Spring中依赖注入有这么三种方式:①通过set方式赋值②通过构造器赋值③通过p标签赋值java相关视频教程推荐:java视频下面我们稍稍展开来谈:1.通过set方式赋值<bean i
文章正文
总得来说,Spring中依赖注入有这么三种方式:
①通过set方式赋值
②通过构造器赋值
③通过p标签赋值
java相关视频教程推荐:java视频
下面我们稍稍展开来谈:
1.通过set方式赋值
1 2 3 4 | <bean id= "teacher" class = "org.szh.entity.Teacher" p:age= "24" p:name= "lq" > <property name= "name" value= "zs" ></property> <property name= "age" value= "23" ></property> </bean> |
主要用到<property></property>围堵标签来传递值
此处的name就是Teacher类里声明的变量名,value就是你要给这个变量赋什么值。
Teacher类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public class Teacher { private String name; private int age; public Teacher() { } public Teacher(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } |
2.通过构造器赋值
1 2 3 4 | <bean id= "teacher" class = "org.szh.entity.Teacher" > <constructor-arg value= "zs" ></constructor-arg> <constructor-arg value= "24" ></constructor-arg> </bean> |
注意上面的Teacher类中要有对应的构造方法。
如果构造方法中的参数列表的值很多的话,我们一一对应去写就很累,此时有如下几种方式来帮助我们精准地给变量赋值:
1.用index(下标值)
2.name(声明变量的名称)
3.type(声明变量的类型)//需要构造器中参数列表声明的类型不一致
来传递value值都可以
具体格式如下即可:
1 2 | <constructor-arg value= "zs" 你要用来做辨认的属性(index/name/type)= "..." ></constructor-arg> <constructor-arg value= "24" 你要用来做辨认的属性(index/name/type)= "..." ></constructor-arg> |
此处还有一个需要注意的点:如果你要在标签内传递引用类型的话,就不能用value了,得用ref:
1 | <constructor-arg ref= "teacher" ></constructor-arg> |
3.通过p标签赋值
这边需要注意下,如果你的编译器没有安装sts的话,就要在你的applicationContext.xml的配置声明里加上这样一句话:
1 | xmlns:p= "http://www.springframework.org/schema/p" |
如果安装过sts,那么在Namespaces里直接勾选即可:
具体写法如下:
1 2 | <bean id= "teacher" class = "org.szh.entity.Teacher" p:age= "24" p:name= "lq" > </bean> |
只需要在标签内加上p:xxx="xxx"即可。
代码注释
[!--zhushi--]