对于spring ioc的理解

本文详细介绍了IoC(控制反转)的概念,通过实例展示了传统编程方式与IoC的区别。IoC降低了对象之间的耦合度,使得代码更加灵活和易于测试。依赖注入(DI)是IoC的另一种表述,强调了对象依赖关系的维护不再由对象自身负责。文章还探讨了IoC容器在管理对象依赖关系中的作用,并指出IoC反转的是对象创建和依赖查找的控制权。
摘要由CSDN通过智能技术生成
## 关于IOC的理解(各种理解的综合)

IoC具体作用:

举一个例子:b依赖于a a在b内部 之前的写法就是a写到b里面
但是当 a要改的时候(构造方法 属性等发生变化) b里的new a的代码就要改变 如果有100个类引入了a 则要改变100次
有了ioc容器之后 我只用该表容器中的bean,其他的对象照常通过id来得到a 其他地方的代码根本不用变化 也就是说其他类与a的耦合性极低。

IoC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。

传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;

有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。

IoC对编程实现由IoC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找。

ioc到底反转了什么
如果对象A依赖于B 所以当对象甲依赖于对象B,那么对象a在初始化或者运行到某一点的时候,自己必须主动去创建对象乙或者使用已经创建的对象B.无论是创建还是使用对象B,控制权都在自己手上。

引入ioc容器之后,当B要用a的时候 不需要自己去new对象而是由容器注入一个对象a给b

翻转的是“到底是谁在new对象”

IoC和DI由什么关系呢?其实它们是同一个概念的不同角度描述,由于控制反转概念比较含糊(可能只是理解为容器控制对象这一个层面,很难让人想到谁来维护对象关系),所以2004年大师级人物Martin Fowler又给出了一个新的名字:“依赖注入”,相对IoC 而言,“依赖注入”明确描述了“被注入对象依赖IoC容器配置依赖对象”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值