在 Spring 框架中,IoC(控制反转) 和 DI(依赖注入) 是其最核心的基石。理解了它们,就等于掌握了 Spring 的灵魂。 为了让你通俗易懂地理解,我们将从概念、关系、实现方式以及优势四个方面进行拆解。 --- 一、 什么是 IoC(Inversion of Control - 控制反转)? IoC 是一种设计思想,而不是一种具体的技术。 传统开发模式(正转): 假设对象 A 需要使用对象 B 的功能,通常会在对象 A 的代码里直接 一个对象 B。 控制权在哪? 在对象 A 手里。A 负责决定什么时候创建 B,怎么创建 B。 缺点: A 和 B 强耦合(绑死在一起了),如果 B 的构造方式变了,A 的代码也要跟着改。 IoC 开发模式(反转): 对象 A 需要对象 B,但 A 不再自己去 对象 B 了,而是把创建和管理对象 B 的权力交给了 Spring 容器。Spring 容器会在合适的时机,主动把对象 B 交给(注入给)对象 A。 控制权在哪? 反转给了第三方(Spring 容器)。 “反转”的到底是什么? 是获取依赖对象的控制权被反转了。 > 🍔 通俗比喻: ...