Spring图解控制反转(IOC)和依赖注入(DI)

    周末在网上逛的时候看到了一篇Spring的视频,翻到了控制反转讲解那一篇发现听后豁然开朗,因为之前学习的时候都是专业术语基本都是背一遍,但是过后就完全不知道啥是啥了,毕竟Spring的发展和生态还是挺让人敬佩的,还是对Spring会有好奇感。那么就把学习的知识记录一下。

1.控制反转

首先控制反转就是IOC是Spring两大核心之一,其次想知道IOC是什么,需要思考一下两个为什么?

1.控制:谁控制谁呢?

2.反转:谁反转谁呢?

控制与反转都是开发模式上的转变。

3.先来说一下没有Spring框架时,程序获取对象获取资源的方式:

没有Spring框架时,是程序创建了对象,那么是程序控制了资源,程序就是控制方,资源就是被控制方。

并且原始方式资源是没有进行管理的是比较零散的。谁都可以创建,不用了jvm还要进行回收所以性能就要差一点

4.那么有了Spring框架以后,获取对象获取资源的方式:

有了Spring以后就变成了程序想要使用资源就从Spring去要,Spring去创建资源,不使用了Spring自己去解决。

那么现在说谁控制谁你就知道是Spring控制资源。那么谁用反转谁呢?就是程序将资源的控制权反转给了Spring了。在这里spring有点数据库连接池的意思。Spring IOC控制反转的意思就是说Spring可以把对资源的控制权进行反转!反转给谁了呢!Spring把程序资源的控制权反转给了Spring。

谁控制谁呢?Spring控制资源

谁反转谁呢?程序对资源的控制权反转给了Spring控制资源了

这样一讲是不是就简单多了。

2.依赖注入

5.接下来再说一下依赖注入:

思考一下:谁依赖谁?注入了什么呢?

其实这里依赖注入和反转是一回事,以前是程序是要自己创建资源的,那么现在就需要程序等待Spring,需要依赖Spring提供资源DI说的就是程序被动的等待Spring为其注入资源。两者说的是一件事,角度不一样。

例如:IOC:我做火车去北京

           DI:火车载着我去北京

           就像行贿和受贿

6.Spring是如何实现控制反转的?

App想要要资源需要去找Spring通用工厂,通用工厂利用反射技术实现xml配置文件创建资源。Spring是通过工厂模式+配置文件实现控制反转的。

以上内容就是这些,希望可以帮助你!

 

 

 

猜你喜欢

转载自blog.csdn.net/dfBeautifulLive/article/details/103239976