IoC全称Inversion of Control,翻译为“控制反转”。

要理解控制需要了解以下四个问题:

  • 谁控制谁

  • 控制什么

  • 为何是反转

  • 哪些方面反转了

IoC定义

所谓IoC,就是由Spring IoC容器来负责对象的生命周期对象之间的关系

使用场景:需要获取对象的时候

原有的获取对象的方式:使用new Object()来创建一个对象。

使用了IoC之后:由IoC容器给你分配一个对象。

当多个地方需要获取相同的类的对象的时候,如果主动创建对象就会创建出多个对象。而使用IoC的话,由于对象由IoC来分配,所以IoC可以将对象进行复用。这样可以减少因为创建多个对象而导致的内存消耗。

回答以上的四个问题:

  • 谁控制谁:使用IoC后,由现有对象对依赖对象的控制变成了IoC容器对依赖对象的控制

  • 控制什么:控制依赖对象

  • 为何是反转:对于现有的对象来说,从原有的主动获取依赖对象变成了被动分配,这就是反转。

  • 哪些方面反转:对依赖对象的获取被反转了

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐