天天看点

IOC与DI的区别

IOC与DI的区别

文章内容输出来源:

拉勾教育Java高薪训练营

IoC:

Inversion of Controller

(控制反转)

DI:

Dependancy Injection

(依赖注入)

IOC和DI描述的是同一件事情(对象实例化及依赖关系维护这件事情),只不过角度不同。

IOC是站在对象的角度,对象实例化及其管理的权利交给了(反转)给了容器。

DI是站在容器的角度,容器会把对象依赖的其他对象注入进去(送进去了),比如A对象实例化过程中因为声明了一个B对象的类型,那么就需要容器把B对象注入给A。

在我的理解IOC与DI的区别在于:IoC是用到哪个对象,就问IoC容器要哪个对象,而依赖注入是在实例化过程中需要哪个对象,容器就把哪个对象给他,一个是用时才要,一个是我有需要就提前要了。