Spring源码之IoC原理

什么是Ioc

控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,能够用来减低计算机代码之间的耦合度。其中最多见的方式叫作依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。经过控制反转,对象在被建立的时候,由一个调控系统内全部对象的外界实体将其所依赖的对象的引用传递给它。也能够说,依赖被注入到对象中。--来自百度百科编程

控制反转更像是一种编程思想,主要是为了下降代码之间的耦合度,理解控制反转首先要弄清楚两点:1.什么是控制,控制了什么,谁控制了谁;2.什么是反转,哪些东西反转了。spa

  1. 控制:传统的建立对象的方法一般是经过new一个对象出来,那被控制的就是new出来的对象;而IoC是经过IoC专门的容器去建立对象,该对象的控制权掌握在了IoC容器手中,控制的对象也由单一的对象形式变成了多样的形式,例如对象和文件。
  2. 反转:传统的建立对象的方式,是主动在建立的对象中获取依赖对象的内容,这种方式被称为正转;而反转则是经过IoC容器去寻找和注入依赖对象,对象只是被动的接受依赖对象。

示例

IoC就比如是一家婚姻介绍所,A要去找对象只须要把要求告诉婚姻介绍所,他须要什么样的女生,好比身高168,体重100,长头发,大眼睛,身材一级棒。而婚姻介绍所就根据A的要求去寻找合适的对象而后介绍给B(查找和注入),而后A和B就开始互相了解(获取资源、数据)。设计

相关文章
相关标签/搜索