关于spring的几个基本概念:
DIP:依赖倒置原则(Dependence Inversion Principle)
高层模块不依赖于低层模块的实现,而低层模块依赖于高层模块定义的接口。通俗的讲,就是高层模块定义接口,低层模块负责实现。
*DIP的标准解释:高层模块不应依赖于低层模块,两者应该依赖于抽象(接口)。抽象不应该依赖于实现,实现应该依赖于抽象。
DIP是仅仅一种软件设计原则,仅仅告诉你两个模块之间应该如何依赖。
IoC:控制反转(Inversion of Control)
是一种软件设计模式,是DIP思想影响下的一种解决方案。
IoC使低层组件的创建和生命周期不再由高层组件控制,而交由第三方掌握。简单说就是:在一个类中需要另一个类的实例时,不需要new了。
IoC有2种常见的实现方式:依赖注入和服务定位。
DI:依赖注入(Dependency Injection)
是IoC设计模式一种具体实现。它提供一种机制:将需要依赖(低层模块)对象的引用传递给被依赖(高层模块)对象。
一般来说具体的注入方式包括:构造器注入、属性注入、接口注入。