DI(依赖注入)是一种将依赖关系从一个对象传递到另一个对象的技术。在 Spring 框架中,DI 是通过使用注释(如 @Autowired、@Qualifier 和 @Value)来实现的。

DI 实现原理

DI 的实现原理是通过反射机制实现的。在 Spring 框架中,当容器创建一个对象时,它会检查该对象的依赖关系,并使用反射机制查找依赖对象。然后,容器将依赖对象注入到该对象中。

具体来说,当使用 @Autowired 注释时,Spring 容器会自动查找与该类型匹配的 bean,并将其注入到该字段中。如果有多个匹配的 bean,则可以使用 @Qualifier 注释来指定要注入的 bean 的名称。

当使用 @Value 注释时,Spring 容器会将属性值注入到该字段中。属性值可以从配置文件中读取,也可以是硬编码的值。

优点分析

DI 的优点是可以减少对象之间的耦合,使代码更加灵活和可维护。通过将依赖关系委托给容器,对象之间的依赖关系变得更加松散,从而使代码更加模块化和易于测试。

因此,DI 是 Spring 框架中实现 IoC 的重要技术之一。它可以使代码更加灵活和可维护,从而提高开发效率和代码质量。


以上内容来自我的 《Java 面试突击训练营》,这门课程是 有着 14 年工作经验(前 360 开发工程师),9 年面试官经验的我,花费 4 年时间打磨完成的一门视频面试课

整个课程从 Java 基础到微服务 Spring Cloud、从实际开发问题到场景题应有尽有,如下图所示:

全程通过视频直播 + 录播的方式,把 Java 常见的面试题系统的过一遍,遇到一个问题,把这个问题相关的内容都给大家讲明白,并且视频支持永久更新和观看。

上完训练营的课程之后,基本可以应对目前市面上绝大部分公司的面试了,想要了解详情,加我微信:GG_Stone【备注:训练营】