Spring实现依赖注入的方法

发布时间:2020-06-24 10:58:44 作者:Leah
来源:亿速云 阅读:151

这篇文章运用简单易懂的例子给大家介绍Spring实现依赖注入的方法,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

总得来说,Spring中依赖注入有这么三种方式:

①通过set方式赋值

②通过构造器赋值

③通过p标签赋值

下面我们稍稍展开来谈:

1.通过set方式赋值

<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类:

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.通过构造器赋值

<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值都可以

具体格式如下即可:

<constructor-arg  value="zs" 你要用来做辨认的属性(index/name/type)="..."></constructor-arg>
<constructor-arg  value="24" 你要用来做辨认的属性(index/name/type)="..."></constructor-arg>

此处还有一个需要注意的点:如果你要在标签内传递引用类型的话,就不能用value了,得用ref:

<constructor-arg  ref="teacher"></constructor-arg>

3.通过p标签赋值

这边需要注意下,如果你的编译器没有安装sts的话,就要在你的applicationContext.xml的配置声明里加上这样一句话:

xmlns:p="http://www.springframework.org/schema/p"

如果安装过sts,那么在Namespaces里直接勾选即可:

具体写法如下:

<bean id="teacher"  class="org.szh.entity.Teacher" p:age="24" p:name="lq">
</bean>

只需要在标签内加上p:xxx="xxx"即可。

关于Spring实现依赖注入的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. Spring 依赖注入后行为实现
  2. php中依赖注入的实现方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

依赖注入 spring

上一篇:python建立venv虚拟环境的方法

下一篇:17. Gradle编译其他应用代码流程(五) - 设置Task过程

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》