反转控制(IOC)

控制:控制指的是对于成员变量赋值的控制权
反转控制:就是把对于成员变量赋值的控制权,从原来的由代码控制,转交给Spring工厂和配置文件。 最大的好处就是 解耦合
底层实现:工厂设计模式

依赖注入(DI -> Dependency Injection)

注入:通过Spring的工厂及配置文件,为对象(bean,组件)的成员变量赋值。 
依赖注入思想:当一个类需要另一个类时,就意味着依赖,一旦出现依赖,就可以把另一个类作为本类的成员变量,最终通过Spring配置文件进行注入(赋值)。
           比如说在某个Service中需要使用对应的Dao对象,那么这就是依赖。 既然需要Dao对象,那么就在Service中声明一个Dao类型的成员变量,并通过Spring的配置文件进行赋值,这个叫注入。整个这个过程就叫依赖注入。