依赖注入的英文表示为dependency injection,缩写为DI。

Spring框架的核心功能之一就是通过依赖注入的方式来管理Bean之间的依赖关系。

当编写一个复杂的 Java 应用程序时,应用程序类应该尽可能独立于其他 Java 类来增加这些类重用的可能性,并且在做单元测试时,测试独立于其他类的独立性。

依赖注入(或有时称为布线)有助于把这些类粘合在一起,同时保持他们独立。

依赖注入的类型

1、Constructor-based dependency injection:基于类构造函数的DI

当容器调用带有多个参数的构造函数类时,实现基于构造函数的 DI,每个代表在其他类中的一个依赖关系。

2、Setter-based dependency injection:基于 setter 方法的 DI

基于 setter 方法的 DI 是通过在调用无参数的构造函数或无参数的静态工厂方法实例化 bean 之后,容器调用 beans 的 setter 方法来实现的。

你可以混合这两种方法,基于构造函数和基于setter方法的 DI,然而使用有强制性依存关系的构造函数和有可选依赖关系的 setter是一个好的做法。

代码是 DI 原理的清洗机,当对象与它们的依赖关系被提供时,解耦效果更明显。对象不查找它的依赖关系,也不知道依赖关系的位置或类,而这一切都由 Spring 框架控制的。

每天学习一点点,每天进步一点点。

最新文章

  1. R语言中数据框的横向合并与纵向合并
  2. Java线程池的原理及几类线程池的介绍
  3. Android之Activity的几种跳转方式
  4. 正则表达式删除指定的HTML 标签
  5. Scrambled Polygon - POJ 2007(求凸包)
  6. 【模拟】NCPC 2014 K Train passengers
  7. Java菜鸟学习笔记--面向对象篇(十五):Wrapper Class包装类
  8. R安装
  9. java GUI (课堂笔记)
  10. 安装ie时,报:此安装不支持您的操作系统的当前语言
  11. 电梯调度算法---SCAN算法
  12. 理解koa2 之 async + await + promise
  13. 在Mac OSX下安装Microsoft Calibri字体
  14. 500G JAVA视频网盘分享 (JEECG开源社区)
  15. Java 使用 jacob 将 word 文档转换为 pdf 文件
  16. exception http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
  17. REST服务使用@RestController实例,输出xml/json
  18. 转载:futex同步机制详解
  19. CentOS为中文显示
  20. HTTPS 信任证书

热门文章

  1. 双链表【参照redis链表结构】
  2. Win10 及 Google 浏览器显示界面异常
  3. Linux Centos7(Mac)安装Docker
  4. jenkins及Maven介绍
  5. JavaScript HTMlL DOM对象(上)
  6. 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:小技能 SmallDatetime)...
  7. 关于LinearLayout设置权重后width或height不设置0dp的影响说明
  8. MYSQL 排序和分组
  9. E. A Simple Task
  10. 安装MySQL8(附详细图文)