Spring控制反转和依赖注入的理解

本文探讨了Spring框架中依赖注入与控制反转的概念及其重要性。通过实例解释了传统编程方式下类之间的高耦合问题,并引入控制反转思想来解决这一问题。依赖注入作为其实现手段,有助于降低代码间的耦合度,提高系统的灵活性与可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring

依赖注入与控制反转
所有的一切都是为了松耦合
通过控制反转将原来所依赖的注入,
比如说我现在编程,需要使用编程语言,但我现在只会java,那么就实例化java这个类,然后使用类里面的各种方法。

java j=new java();
j.useJava();
j.
j.
.
.
.

这样我就可以开心的编程了,
可是有一天突然java不能用了,那么我实例化的这个类便不能用了,那就得去改代码,我和java之间耦合程度太高,只要java出现一点点问题,我都要改造我自己,这实在是既浪费时间又容易出问题。
控制反转则是,当我需要某个编程语言时,自然有人帮我实例化它 ,
这样我就不依赖java了,也不需要去改代码,而这个过程就是依赖注入

哈哈 ,皮一下很开心啊,但是皮几万就不好了

现在看看大神是怎么说的

如果一个类A 的功能实现需要借助于类B,那么就称类B是类A的依赖,如果在类A的内部去实例化类B,那么两者之间会出现较高的耦合,一旦类B出现了问题,类A也需要进行改造,如果这样的情况较多,每个类之间都有很多依赖,那么就会出现牵一发而动全身的情况,程序会极难维护,并且很容易出现问题。要解决这个问题,就要把A类对B类的控制权抽离出来,交给一个第三方去做,把控制权反转给第三方,就称作控制反转(IOC Inversion Of Control)。控制反转是一种思想,是能够解决问题的一种可能的结果,而依赖注入(Dependency Injection)就是其最典型的实现方法。由第三方(我们称作IOC容器)来控制依赖,把他通过构造函数、属性或者工厂模式等方法,注入到类A内,这样就极大程度的对类A和类B进行了解耦。

资源不由使用资源的双方管理,而由不使用资源的第三方管理,也就是spring管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值