什么是控制反转(IOC)?什么是依赖注⼊(DI)?
IOC inversion of control 控制反转
控制反转:是一种设计思想,程序需要某个对象时,由原来的new的过程,转为由spring容器进行创建、管理和维护组件之间的关系,这样做的好处是大大降低了组件之间的耦合度,控制权由应用代码转移到了spring容器,控制权发生了反转,这就是spring的控制反转。
DI dependence injection 依赖注入(依赖注射)
在Java中有三种实现方式:
1、构造器注入
2、Setter方法注入
3、接口注入
它们的优点是什么?
IOC 或 依赖注⼊把应⽤的代码量降到最低。它使应⽤容易测试,单元测试不再需要单例和JNDI查找机制。最⼩的代价和最⼩的侵⼊性使松散耦合得以实现。IOC容器⽀持加载服务时的饿汉式初始化和懒加载。