Spring中控制反转(IoC)/依赖注入(DI)说的是一回事吗?只是名字不同?新出的Spring3里是哪一个?

控制反转(IoC=InversionofControl)IoC,用白话来讲,就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反... 控制反转(IoC=Inversion of Control)IoC,用白话来讲,就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:(依赖)控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。
所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,形象的来说,即由容器动态的将某种依赖关系注入到组件之中。
正在业界为IoC争吵不休时,大师级人物Martin Fowler也站出来发话,以一篇经典文章《Inversion of Control Containers and the Dependency Injection pattern》为IoC正名,至此,IoC又获得了一个新的名字:“依赖注入(Dependency Injection)”。

为什么有的教程介绍IoC有的介绍DI?有的都介绍,它们概念原理不一样,到底是不是同一个东西???
展开
 我来答
绿茶_白开水
推荐于2017-11-25 · TA获得超过107个赞
知道答主
回答量:13
采纳率:100%
帮助的人:21.7万
展开全部
同一件事,强调的内容不同而已。IoC控制反转,强调容器的作用,用于组织或控制容器内bean的运行。DI依赖注入,强调Bean需要外部注入才能正常运转。相对地说做容器框架的(比如Spring)当然强调控制了,怎么更好的控制别的Bean的运行,相反做模块的,当然强调注入了,我到底需要依赖注入什么。
其实本质上,主要优势就是通过接口解耦合,然后使用容器配置文件,组织bean的运行,扩展性更强,也便于灵活地用于大粒度的模块,组件级编程。Spring已经是比较成熟的容器框架,所以大多数人的设计,主要还是考虑到底需要依赖注入什么。
百度网友452ee4f
2012-06-27 · TA获得超过101个赞
知道答主
回答量:143
采纳率:0%
帮助的人:44.3万
展开全部
一些教程最喜欢把问题复杂化,其实很简单,两个说的都是Spring的同一种东西
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友66ef1dc
2012-06-26 · 超过15用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:28.3万
展开全部
一个东西的两种不同称呼 个人觉得DI更好理解一些
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式