我们先看看什么叫依赖。在生活中,依靠别人或者别的事物而不能独立或者自立,我们称为依赖。那么在应用中,什么叫依赖呢? 依赖指的是两个实例之间的关系。其中一个实例是独立的,另一个实例是非独立的(依赖的),它依靠另外一个实例。比如计算机对象,它包含主机对象和显示器对象。如果没有主机对象或者显示器对象,则计算机对象就是不完整的,不能正常使用,我们就说计算机对象依赖于主机对象和显示器对象。 那么什么是注入呢? 计算机对象离不开主机对象和显示器对象,程序在运行过程中,我们必须给计算机对象提供它所需要的主机对象和显示器对象,把主机对象和显示器对象像“打针”一样提供给计算机对象,这个过程就叫做注入。 也就是说,如果一个对象需要另外一个对象才能正常使用,我们在程序运行的时候,给该对象提供它所需要的对象,这就是“依赖注入”。我们知道,Spring将会管理几乎所有的Bean对象,而对象与对象之间可能存在依赖关系,在程序运行过程中,Spring把我们所需要的对象都拼装好,这就是Spring的依赖注入。 在传统的 Java设计中,当 Java实例的调用者创建被调用的 Java实例时,要求被调用的 Java类出现在调用者的代码中,二者之间无法实现松耦合。工厂模式则对此进行了改进,使调用者无须关心被调用者的具体实现过程,只要获得符合某种标准 (接口)的实例即可使用。其调用的代码面向接口编程,支持调用者与被调用者解耦,因此工厂模式得以大范围地使用。但在工厂模式中,调用者需要自行定位工厂,与特定工厂耦合,所以仅在一定程度上实现了调用者与被调用者的解耦。Spring 的出现使调用者无须自行定位工厂,当程序运行至需要被调用者时,系统将自动提供被调用者实例。事实上,调用者与被调用者均由 Spring管理,二者之间的依赖关系由Spring提供。
依赖注入,是IOC的一个方面,是个通常的概念,它有多种解释。这概念是说你不用创建对象,而只需要描述它如何被创建。你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把他们组装起来。

什么是Spring的依赖注入?相关推荐

  1. factorybean 代理类不能按照类型注入_《Spring入门经典》:使用Spring进行依赖注入

    第二章:使用Spring进行依赖注入 重点:配置并使用Spring容器 使用不同类型的配置元数据来配置Spring容器 理解依赖解析 了解自动装配的优缺点 在容器中执行显式Bean查找 学习不同的Be ...

  2. 在ABAP里模拟实现Java Spring的依赖注入

    Dependency Injection- 依赖注入,在Java Spring框架中有着广泛地应用.通过依赖注入,我们不必在应用代码里繁琐地初始化依赖的资源,非常方便. 那么ABAP能否从语言层面上也 ...

  3. Spring Setter依赖注入示例

    学习如何编写Spring Setter依赖注入示例 . Setter注入是Spring依赖注入的一种 . Spring支持字段注入,Setter注入以及构造函数注入,以将依赖项注入Spring托管的b ...

  4. Spring字段依赖注入示例

    学习如何编写Spring Field Injection示例 . 字段注入是Spring框架 依赖注入的一种 . 在本教程中,我们将编写几个类,并看一看现场注入工程. 有关Spring依赖注入的更多信 ...

  5. 据说,80%的人没有真正理解了Spring的依赖注入

    前言 提起Spring,大家肯定不陌生,它是每一个Java开发者绕不过去的坎.Spring 框架为基于 java 的企业应用程序提供了一整套解决方案,方便开发人员在框架基础快速进行业务开发. 在官网中 ...

  6. Spring框架----Spring的依赖注入

    1.spring的依赖注入的概念 依赖注入:dependency Injection IOC的作用:降低程序之间的依赖关系,但不是消除. 依赖关系的管理:以后都交给了spring来维护 在当前类中需要 ...

  7. Spring和依赖注入的价值

    javaeye上看到有帖子,置疑spring和依赖注入的价值,回复内容整理如下: 依赖注入对设计有利,而spring则促进了依赖注入的使用. 如果业务处理类,它所使用的倚赖,都是依靠在这个类内部实现或 ...

  8. spring(一)依赖注入与 SPEL

    Spring之依赖注入与 SPEL 一.控制反转与依赖注入 二.helloworld 三.构造注入 四.级联注入 五.单例与多例 六.工厂方法创建 Bean 七.包扫描管理 bean 八.SPEL与资 ...

  9. Spring实现依赖注入的几种方式

    Spring实现依赖注入的几种方式 1.基于有参构造实现 <bean id="user" class="com.ccu.twj"><const ...

  10. 【Spring】依赖注入的几种方式

    在上篇文章中我着重介绍了Spring的控制反转和依赖注入的概念,那么依赖注入有那几种方式呢?他们的优缺点分别是什么,我将在本章中详细讲解. Spring的依赖注入根据对象类型注入可以分为属性注入和对象 ...

最新文章

  1. 最常用的CURL命令大全
  2. JS window事件全集解析
  3. Unity3D ShaderLab 内发光防护罩
  4. mysql 字符串替换:处理历史稿件中的图片路径
  5. 我需要一个高并发的架构,我的系统要改造成微服务吗
  6. 从起源到未来:能自己编程和改进的超人工智能会出现吗?
  7. 开源项目也要讲注意力经济
  8. C++11 列表初始化
  9. [汇总]Web前端优化
  10. dedecms分页样式修改 内容页 上一页 下一页
  11. con和com开头单词
  12. [阿里云] 域名解析设置
  13. 简单快速的视频上传分享网站,可做外链
  14. potato土豆登录不了_土豆@mz123789【电子竞技赛吧】
  15. java postgresql date_javapostgresql时区总结
  16. 一份机器学习的自白书
  17. 修改改EXCEL页眉页脚
  18. 微信小程序扫码 ( wx.scanCode)的使用方法
  19. 【翻译】2020年云安全综合指南(风险,最佳实践,认证)
  20. OCS认证有机含量标准

热门文章

  1. 虚拟机命令里面的光标不动了怎么办_Linux 11个炫酷的终端命令!你知道几个?
  2. Windows 11 KB5011563正式推送,之前本人遇到的两个小问题总算解决了
  3. 五年后计算机专业还会吃香吗,未来5年的紧缺职业 五年后最吃香的专业有哪些?...
  4. java中paras是什么意思_paras的使用方法是什么
  5. 论文阅读笔记 | 目标检测算法——FSAF算法
  6. 登高望远,一文解答 2023 年你最关心的前端热点问题
  7. VSCode图片无法显示(已解决)
  8. 洪涝有源淹没算法及淹没结果分析【转】
  9. 上海大厂Android面试经历;华为+小米+映客+抖音
  10. 人工智能专业术语的个人理解与总结(ML、DL、RL)