Spring IOC核心思想
设计模式中的依赖倒转原则
- 高层模块不应该依赖于底层模块,二者都应该依赖于抽象。
- 抽象不应该依赖于细节,细节应该依赖于抽象。
控制反转(Inversion of Control) 就是依赖倒置原则的一种代码设计的思路。具体采用的方法就是所谓的依赖注入(Dependency Injection)。
控制反转是一种宽泛的概念、一种思想,只要一个类将对它内部状态的控制权交由其他机制去完成即为『控制反转』。控制反转是为了降低类与类之间的耦合度。而Spring采用依赖注入这一具体的手段来达到控制反转的目的。
依赖倒转IOC和依赖注入DI的关系
IoC主要的实现方式有两种:依赖查找,依赖注入。依赖注入只是依赖倒转(思路)的一种实现方式。(控制反转是目的,依赖注入是实现控制反转的手段)。
参考文章
https://www.zhihu.com/question/23277575
https://blog.csdn.net/doris_crazy/article/details/18353197