依赖注入和依赖查找都是实现 IoC 的两种常用方法,它们的区别如下。

依赖注入

依赖注入是一种将依赖关系从一个对象传递到另一个对象的技术。在依赖注入中,对象不再负责创建或查找它所依赖的对象,而是将依赖关系委托给 IoC 容器。容器在创建对象时,自动将依赖的对象注入到它所依赖的对象中。

依赖注入的优点是可以减少对象之间的耦合,使代码更加灵活和可维护。在 Spring 框架中,依赖注入通过注解或 XML 配置文件来实现。

依赖查找

依赖查找是一种从 IoC 容器中查找依赖对象的技术。在依赖查找中,对象负责查找它所依赖的对象,而不是将依赖关系委托给容器。容器只负责管理对象的生命周期,而不负责对象之间的依赖关系。

依赖查找的优点是可以更加精细地控制对象之间的依赖关系,但是它也会增加对象之间的耦合度。在 Spring 框架中,依赖查找通过 ApplicationContext 接口的 getBean() 方法来实现。

小结

因此,依赖注入和依赖查找的区别在于,依赖注入是将依赖关系委托给容器,由容器来管理对象之间的依赖关系;而依赖查找是由对象自己来查找它所依赖的对象,容器只负责管理对象的生命周期。


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

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

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

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