IOC(Inversion Of Control)
IOC,即控制反转,是一种设计思想。
传统Java SE设计思想:直接对象内部通过New关键字创建一个对象,即程序主动去创建依赖对象。
IOC:把创建和查找对象的控制权交给IOC容器,由容器进行注入组合对象。
DI(Depandency Injection)
DI,即依赖注入,是IOC的另一种表述方式。相对IOC,这种表述更直接。
- 谁依赖谁:应用程序依赖IOC容器。
- 为什么需要依赖:应用程序需要IOC容器提供对象所需要的外部资源。
- 谁注入谁:IOC容器注入应用程序某个对象,应用程序依赖的对象。
- 注入什么:注入某个对象所需要的外部资源(对象、资源、常量数据)。
IOC&DI
IOC与DI是同一个事情的不同表述。
IOC从IOC容器的角度进行描述:IoC/DI容器反过来控制应用程序,控制应用程序锁所需要的外部资源(比如:外部资源)。
DI从应用程序的角度进行描述:应用程序依赖IoC/DI容器,依赖它注入所需要的外部资源。
参考文章:
https://www.cnblogs.com/xdp-gacl/p/4249939.html
https://www.cnblogs.com/chenyin/p/4819099.html?utm_source=tuicool&utm_medium=referral