Spring中的依赖注入

依赖注入:当某个Java对象(调用者)需要调用另外一个Java对象(被调用者,即被依赖对象)时,在传统模式下,调用者通常会采用“new”被调用者的代码方式来创建对象,这种方式会导致调用者与被调用者之间的耦合性增加,不利于维护。在Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,这相当于为调用者注入了它依赖的实例,这就是依赖注入。
竟然有了依赖注入的概念,知道了“依赖”是个什么东西了,那么在Spring中是怎样注入的呢?
在Spring中基于xml配置常用的注入的方式有两种:构造函数的依赖注入和设值函数的依赖注入,下面会对这两种方式如何进行运用:

  1. 基于构造函数的依赖注入:
    当容器调用带有一组参数的类构造函数时,基于构造函数的依赖注入就完成了,其中每个参数代表一个对其他类的依赖。
    首先创建TextEditor类,并且该类有一个带参数(对象)的构造函数,代码如下:
    在这里插入图片描述
    然后,在创建一个TextEditor依赖的类SpellChecker.java,代码如下:
    在这里插入图片描述
    在配置文件applicationContext.xml中配置如下信息:
    在这里插入图片描述
  2. 基于设值函数的依赖注入:
    当容器调用一个无参的构造函数来初始化你的 bean 后,通过容器在你的 bean 上调用设值函数,基于设值函数的依赖注入就完成了。
    首先创建TextEditor类,并且该类需要把设值函数方法的名称转换。要设置一个变量 spellChecker,我们使用 setSpellChecker() 方法,该方法与 Java POJO 类非常相似。然后创建另一个依赖类文件 SpellChecker.java 的内容,代码如下:
    在这里插入图片描述
    在这里插入图片描述
    然后在配置文件applicationContext.xml中配置如下信息:
    在这里插入图片描述
    最后,调用spring创建好的对象,代码如下:
    在这里插入图片描述
    在这两种依赖注入方式中,应该注意定义在基于构造函数注入和基于设值函数注入中的 applicationContext.xml 文件的区别。唯一的区别就是在基于构造函数注入中,我们使用的是〈bean〉标签中的〈constructor-arg〉元素,而在基于设值函数的注入中,我们使用的是〈bean〉标签中的〈property〉元素。第二个需要注意的点是,如果你要把一个引用传递给一个对象,那么你需要使用 标签的 ref 属性,而如果你要直接传递一个值,那么你应该使用 value 属性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值