前言
好了,终于到了spring的环节,在java学习中spring简直可以说是必备呀必备。
一个框架,开发出来的原因,那么基本逃不过解耦合,减少冗余,增强功能。
那么我们来聊一聊spring的必问核心IOC。
一、IOC是什么?
IOC翻译过来是控制反转,它是技术也是一种思想,IOC就是将创建对象的权力交给IOC容器进行管理。
控制:在传统创建对象时,我们是自己控制引用实例对象的时机,而现在我们将这个实际的选择交给IOC进行控制依赖注入。
反转:在传统应用中是我们自己主动去直接获得依赖对象,这是正转。而让容器帮我们进行查找和依赖注入对象,对象只是被动的在接受注入的对象,这是反转。
二、IOC的作用IOC能够设计出更好的低耦合优良的系统,但既然说了IOC不仅是技术更是一种思想,其实IOC带给我们的是一种思想上的转变。他将我们主动找寻对象主动寻找对象引用,改变成了由IOC容器来帮助我们寻找依赖注入的对象。
三、IOC的原理和实现说起来其实很简单,大部分框架的流程和套路也都基本相同,首先扫描配置文件,之后扫描包获得所有类,之后通过反射将类实例化出来,放进spring的bean工厂,至此就完成了初始化IOC。
总结
其实要理解和使用spring非常简单,但是spring因为它的成熟,有了太多集成的东西,所以才会导致源码的难以理解,但这也正是这个框架优秀的原因。



