聊聊Spring的IoC(DI)

聊聊Spring的IoC(DI)

文章内容输出来源:拉勾教育Java高薪训练营

本篇文章是Spring学习课程中的一部分学习心得

一、SpringIoC背景

IoC(控制反转),英文全称为 Inversion of Control ,最早由软件专家 Michael Mattson 提出,它是一种思想理论:借助“第三方”容器来实现对具有依赖关系对象之间的解耦,这个第三方容器就是IoC容器。而Spring在技术层面把这个思想做了很好的实现。

二、什么是IoC(控制反转)

那么什么是控制反转呢?从Java开发角度来想,在没有引入IoC容器前,我们如何处理对象之前的依赖问题的;如对象A依赖于对象B,在我们要初始化对象A或者对象A运行到某一节点时,我们必须主动去创建(new)对象B或者使用已经创建的对象B;无论是创建还是使用对象B,主动权都在我们自己手上

但在引入SpringIoC容器后,这种情况就会变的方便许多: 由于IoC容器的加入,对象A与对象B之间失去了直接联系,它们都依赖于IoC容器;所以,当对象A运行到需要对象B的时候,我们直接从容器中去获取即可,控制权移交到了IoC容器上,同时也实现了对象A和对象B之间的解耦。

这种控制权上的转变,就叫做控制反转。

三、什么是DI(依赖注入)

那么什么又是依赖注入呢?依赖注入(DI)其实是控制反转(IoC)的一种别名,它们其实是在不同的角度描述同一件事情(即依赖关系对象之间的解耦)。IoC是在对象的角度:对象实例化及管理的权利移交(反转)给容器;DI是在容器角度:在A对象需要使用依赖的B对象时,从容器中获取注入。

四、写在最后

工作了几年的时间,技术一直在更新迭代,总感觉所有东西都会一点,但是在工作中使用的时候就会忘记。这其实是知识没有形成一个体系的过程,很多技术都只是处于会用的阶段,并没有真正的了解它的框架、原理。 以前都是自己看视频、啃源码,整体学下来感觉很痛苦。技术的道路不太好走,没有人带领也不知道应该如何做,整体的知识体系会比较乱、还会松懈,白白浪费时间不说,可能仅有的一点学习激情都会被消磨殆尽。

在加入了拉勾的Java高薪训练营后,有大牛导师带领以及完备的课程体系(对标阿里P7),顿时感觉轻松了许多。松懈的时候看到与别人的进度有差距,这个时候不服输的心理就诞生了,促使这我继续坚持学习下去。 拉勾教育的课程对比过后其实还是很详细的,而且价格不贵。课程学习的时间周期安排合理;课程阶段制,每完成一个模块都必须提交作业才能解锁下一模块。这样更能激励自己抓紧学习,更上进度,都有点当初上大学的感觉了呢~

最后希望拉勾教育的课程越办越好,可以服务更多的IT人才。也期望可以带动更多的IT人才走出技术局限,走出自己的生活舒适圈。

勇于挑战自己才可以突破自己的瓶颈走向更高的目标。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值