Spring(1)理解控制反转(IOC)、依赖注入(DI)

记得刚开始学习Spring的时候,那时候Spring的版本还是比较低的,最近工作不忙在复习一下,岁数大了,记忆力大不如从前,所以记录下自己整理的东西。如有错误请指正。

控制反转(IOC)

控制什么?反转什么?我的理解,集中管理控制对象(工厂模式),反转对象获取方式,反转之前我们是主动通过“new”关键字创建对象,反转之后我们接收IOC提供的对象。
举个例子:

吃饺子,如果没有饺子怎么办?

未使用IOC之前:

自己食材,自己动手,丰衣足食,我的饺子我做主,咸了淡了你们管不着。
自己做饺子截图
使用IOC之后:
不用自己做,告诉饺子馆,我想吃韭菜鸡蛋的饺子,饺子馆做好饺子送到家。
控制反转截图
在这个例子中,使用控制反转(IOC),告诉饺子馆,我(对象)想吃饺子(对象)。最终我会得到饺子馆(对象工厂)送来的饺子。这样,我免去擀饺子皮、躲饺子馅、煮饺子,等一系列的操作,同时也不必担心自己的厨艺不佳,导致自己难以下咽。
对应上控制反转(IOC),反转的什么,其实反转的饺子的获取方式。那饺子馆来控制管理各式各样的饺子。
写到这里,控制反转(IOC),它不是一种技术,是一种思想,使用控制反转(IOC)集中管理控制对象,可以使对象和对象之间松散耦合,有利于功能的复用。

依赖注入

谁依赖谁?谁注入谁?我的理解,依赖注入,其实就是动态向某个对象提供它所需要的对象。上门吃饺子的例子,我依赖与饺子馆,饺子馆提供饺子给我。
在程序中的,依赖注入有几种方式:

构造器注入
set方法注入
基于注解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值