1. 反转(转移)控制(IOC Inverse Of Control)
- 控制:对于成员变量赋值的控制权
- 优点:解耦合
- 底层实现:工厂模式
通过上述的图可以得出:
1、在没有spring的时候,代码的变量赋值都是有自己掌握创建的,控制权在自己,这样存在很高的耦合性。
2、有了spring之后,我们对成员变量赋值或者创建,交由spring工厂以及spring的配置文件来完成的。这个时候,成员变量的控制权交由spring工厂来完成。
所以:控制反转就是创建对象的控制权由自己(代码)交给了spring工厂(配置文件)来完成。
举例:自己找房,中介帮助找房。
2. 依赖注入(Dependency Injection DI)
-
注入:通过Spring的工厂及配置文件,为对象(bean,组件)的成员变量进行赋值
-
依赖注入:当一个类需要另一个类时,就意味着依赖,一旦出现依赖,就可以把另一个类作为本类的成员变量,最终通过Spring配置文件进行注入(赋值)
-
好处:解耦合;
注意:依赖注入是一种编程思想。
评论区