依赖注入相关的总结
依赖注入相关的总结

依赖注入(DI)用于解决“对象如何获得它依赖的其他对象”这个问题。核心思想是:对象不自己创建依赖,而是由容器把依赖“注入”进来,从而降低耦合。
DI 解决了什么问题
- 不用在业务代码里
new依赖对象 - 更容易替换实现(例如测试时替换为 Mock)
- 对象创建与依赖关系由容器统一管理
常见注入方式
- 构造器注入:依赖必需、不可为空时更合适
- setter 注入:依赖可选、需要后置配置时更常见
- 字段注入:写起来快,但不利于测试与显式依赖表达
选择与冲突(概念层面)
- 按类型装配:当同类型 Bean 有多个时会冲突
- 常见解决:
- 指定名称
@Primary设默认实现@Qualifier指定候选
与 IoC 的关系
- IoC(控制反转):控制权从业务代码转移到容器
- DI(依赖注入):IoC 的一种常见实现方式
关联:bean基础配置 / bean相关的总结 / 创建容器 / 注解开发-依赖注入 / 依赖注入-setter注入 / 依赖注入-构造器注入