spring IOC(控制反转)和DI(依赖注入)以及三种依赖注入方式的比较

1.Spring中IOC的优点是什么?

IOC 或 依赖注入把应用的代码量降到最低。它使应用容易测试单元测试不再需要单例和JNDI查找机制

最小的代价和最小的侵入性使松散耦合得以实现。IOC容器支持加载服务时的饿汉式初始化和懒加载

2.什么是Spring的依赖注入?

依赖注入,是IOC的一个方面,是个通常的概念,它有多种解释。这概念是说你不用创建对象,而只需要描述

它如何被创建。你不用在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之

后一个容器(IOC容器)负责把他们组装起来

3.spring中有哪些依赖注入的方式?

构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一

个对其他类的依赖。

Setter方法注入:Setter方法注入是容器通过调用无参构造器或无参static工厂 方法实例化bean之后,调用该

bean的setter方法,即实现了基于setter的依赖注入

接口注入:根据预先再配置文件中设定的实现类的类名,动态加载实现类,并通过接口强制转型后为对应的类使

,这就是接口注入,但不推荐使用,因为当一个框架使用接口注入时,就离不开它了,侵入性太强。

4.三种依赖注入方式的比较?

接口注入:

接口注入模式因为历史较为悠久,在很多容器中都已经得到应用。但由于其在灵活性、易用性上不如其他两种注入

模式,因而在 IOC的专题世界内并不被看好。

Setter 注入:
对于习惯了传统 javabean 开发的程序员,通过 setter 方法设定依赖关系更加直观
如果依赖关系较为复杂,那么构造子注入模式的构造函数也会相当庞大,而此时设值注入模式则更为简洁。
如果用到了第三方类库,可能要求我们的组件提供一个默认的构造函数,此时构造子注入模式也不适用。

构造器注入:

在构造期间完成一个完整的、合法的对象。
所有依赖关系在构造函数中集中呈现。
依赖关系在构造时由容器一次性设定,组件被创建之后一直处于相对“不变”的稳定状态。

只有组件的创建者关心其内部依赖关系,对调用者而言,该依赖关系处于“黑盒”之中
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值