【一线大厂Java面试题合集】第43篇-Spring-IOC原理深度解析
第43篇:Spring IOC 原理深度解析模块:Spring生态 |难度:高级 |面试频率:★★★★★1.IOC 的理解?DI 是什么?IOC 和 DI 的关系?核心概念IOC(Inversion of Control,控制反转)是一种设计思想,而非具体的技术实现。传统程序设计中,对象之间的依赖关系由程序代码主动创建(通过new关键字);而在 IOC 模式下,对象的创建、依赖关系的维护交由 Spring 容器统一管理,控制权从应用程序代码"反转"到了 Spring 容器。DI(Dependency Injection,依赖注入)是 IOC 的一种具体实现方式。组件之间的依赖关系由容器在运行期动态注入,而非组件自己去主动获取。IOC 和 DI 的关系IOC 是思想,DI 是实现。 IOC 定义了"谁来控制对象"的问题 —— 由容器控制。 DI 解决了"容器如何注入依赖"的问题 —— 通过构造器、Setter、字段注入。