天天看点

Spring:Spring核心思想—IOC控制反转

作者:日拱一卒程序猿

一、什么是IOC

IoC Inversion of Control (控制反转/反转控制),注意它是一个技术思想,不是一个技术实现描述的事情:Java开发领域对象的创建,管理的问题。

传统开发方式:比如类A依赖于类B,往往会在类A中new一个B的对象。

IoC思想下开发方式:我们不用自己去new对象了,而是由IoC容器(Spring框架)去帮助我们实例化对象并且管理它,我们需要使用哪个对象,去问IoC容器要即可。

我们丧失了一个权利(创建、管理对象的权利),得到了一个福利(不用考虑对象的创建、管理等一系列事情)

为什么叫做控制反转?

控制:指的是对象创建(实例化、管理)的权利

反转:控制权交给外部环境了(spring框架、IoC容器)

Spring:Spring核心思想—IOC控制反转

二、IoC解决了什么问题

IoC解决对象之间的耦合问题

Spring:Spring核心思想—IOC控制反转

三、 IoC和DI的区别

DI:Dependancy Injection(依赖注入)

怎么理解:IOC和DI描述的是同一件事情,只不过角度不一样罢了。

Spring:Spring核心思想—IOC控制反转