当前位置: 首页 > article >正文

5.什么是Spring的依赖注入(DI)?IOC和DI的区别是什么

很多人把IOC和DI说成一个东西,笼统来说的话是没有问题的,但是本质上还是有所区别的,希望大家能够严谨一点,

IOC和DI是从不同的角度描述的同一件事,IOC是从容器的角度描述,而DI是从应用程序的角度来描述,也可以这样说,IOC是依赖倒置原则的设计思想,而DI是具体的实现方式

在面向对象设计的软件系统中,底层的实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。
在这里插入图片描述
有一个对象出了问题,就可能会影响到整个流程的正常运转。现在,伴随着工业级应用的规模越来越庞大,对象之间的依赖关系也越来越复杂,经常会出现对象之间的多重依赖性关系,因此,架构师和设计师对于系统的分析和设计,将面临更大的挑战。对象之间耦合度过高的系统,必然会出现牵一发而动全身的情形。

在这里插入图片描述
大家看到了吧,由于引进了中间位置的“第三方”,也就是IOC容器,对象和对象之间没有了耦合关系, 它起到了一种
类似“粘合剂”的作用,把系统中的所有对象粘合在一起发挥作用,如果没有这个“粘合剂”,对象与对象之间会彼此
失去联系,这就是有人把IOC容器比喻成“粘合剂”的由来。


http://www.kler.cn/a/136981.html

相关文章:

  • Y3地图制作1:水果缤纷乐、密室逃脱
  • 游戏引擎学习第58天
  • leetcode-80.删除有序数组的重复项II-day12
  • YOLO模型格式转换:pt -> onnx -> rknn
  • Windows内核开发环境配置
  • Datawhale AI 冬令营学习笔记-零编程基础制作井字棋小游戏
  • CentOS 7.9 安装 nginx
  • MIB 6.1810实验Xv6 and Unix utilities(5)find
  • 关于AssetBundle禁用TypeTree之后的一些可序列化的问题
  • vue-quill-editor 使用
  • 无服务器开发实例|微服务向无服务器架构演进的探索
  • 【鸿蒙最新全套教程】<HarmonyOS第一课>1、运行Hello World
  • 【问题解决】Maven密码加密
  • 阿里云配置ssl(Apache)
  • VirtualBox7安装Ubuntu20及全屏、共享、粘贴板等设置
  • 什么是JPA? JPA在springBoot中怎么使用
  • Java学习笔记44——Stream流
  • Oracle-分析函数(累计求和,排序等)
  • nodejs module.createRequire
  • 六要素一体微型气象站介绍
  • 【图数据库实战】图数据库基本概念
  • 1688开放平台API接口获取商品详情信息
  • 广东网络广播电视台《明星小主播》栏目开拍 小主持神采奕奕
  • 【ARM AMBA AXI 入门 13 -- AXI 协议中 RRESP 信号详细介绍】
  • Spring Boot 自动配置
  • Spring Boot简介