什么是Spring IOC容器?

什么是Spring IOC容器?

Spring Ioc负责创建对象,管理对象(通过依赖 注入(DI),装配对象,配置对象,并且管理这些对象的整 个生命周期。

Spring locanversion of Control)控制反转/依赖注入(DI:Dependency Injection)两个概念是大致相 同 Spring 并不是依赖注入的创造者,但rod Johnson是 第一个高度重视以配置文件管理java实例的协作关系的人, 他为此起名为控制反转,再后来 martine fowler为这种方式起了另一个名字依赖注入,其实两者意义相同 传统模式下,a调用b 原始做法,调用者主动创建被依赖的对象,然后在方法,简单工厂模式:调用者先找到被依赖对象的工厂,然后 主动通过工厂获取被依赖对象,最后调用方法
方式1:要new因此导致a和b两者硬编码凡是耦合, 不利于项目升级和维护
方式2:调用者是没有直接寻找b对象调用方法,但是却主动寻找了工厂 导致a与工厂耦合。

使用spring框架后:调用者无需主动获取被调用者对 象,调用者只要被动接受,spring容器为调用者的成员变量赋值即可。

由此可见,spring框架用了之后,调用者获取被 依赖对象方式由原来主动获取我成被动接受一因此 johnson称之为控制反转,原来对象自己找,现在对象别人找 好给你 从spring 容器的角度看,spring容器负责将被依赖对象,赋值给调用者的成员变量,相当于为调用者注入了依赖 的实例,因此fowler将此方式称为依赖注入 其实两者一个意思只是角度不同。

为了更好理解,可以参考人类社会发展来看一下问题, 在各种社会形态里如何解决 一个人(调用者)需要一把斧头(被调用者,依赖对象)原始社会里,几乎没有社会斧头,需要斧头的人,只能 自己去摸一把斧头 进入工业社会,工厂出现,斧头不在需要人自己制作,而从工厂里生成出来,我们只需要找到工厂,购买,无需关 系斧头制造过程,对应简单工厂模式,调用者只需要定位工厂, 进入共产主义社会,需要斧头的人甚至于无需定位工 厂,坐等社会提供即可,调用者无需关系依赖对象,无需理会工厂,等待spring注入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋风清,秋月明。落日夕阳一片红

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值