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

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管理

猜你喜欢

转载自blog.csdn.net/weixin_39168678/article/details/80080520