Ioc 和 DI
IoC(Inversion of Control)意为控制反转,是一种编程思想/原则,大概意思就是将传统编程的控制流交给通用框架,达到控制反转的目的。以Java为例,A 对象使用B,需要自己先new 一个B对象,然后再使用;而IoC则是把对象的控制权交给IoC框架,需要使用时直接从框架获取即可,所以说叫控制反转;
DI(Dependency Injection)即依赖注入,可以理解为IoC概念的具体解决方式。要把对象的控制权交给框架,就要建立对象之间的依赖关系,所以依赖注入主要是用来建立对象间的依赖关系。依赖注入一般有三种方式:
- 构造函数注入
- setter方法注入
- 接口注入(不常用)