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

Spring——IOC/DI思想

1、IOC(Inversion of Control)控制反转

何为控制反转?

在业务层中我们如果要调用数据层的方法那么必然牵扯到对象的创建,如果我想要改变上述数据层的方法中的内容,那么我就要改变业务层的代码,重新创建对象程序重新编译运行,这样就会存在一个资源消耗的问题,所以提出来IOC的思想,也就是将对象的控制权交给IOC容器来处理而不必人为去创建对象。当业务层需要数据层的对象时,IOC容器会帮我们对对象进行创建和初始化等一系列操作。IOC容器被创建被管理的对象通一称为Bean。

2、DI(Dependency Injection)依赖传递

何为依赖传递?

既然在上面的IOC思想中我们已经把Bean交给容器去管理,假设容器只起到管理Bean的作用那么如果我调用业务层对象由于业务层的运行需要创建数据层对象但业务层还没运行肯定没有数据层对象,这时程序就会报错,此时IOC容器的另一个作用就体现出来了,它会对有关系的对象进行依赖传递,将两个Bean绑定起来,此时调用业务层对象的同时数据层对象就会在IOC中创建出来并初始化给到业务层从而使业务层实现。这就叫做依赖传递。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 打造编程学习的“知识宝库”:解锁高效笔记记录与整理的秘籍
  • 刷到好听的音频怎么办
  • 在react vue 项目中,打包后由于文件名的变化导致点击旧页面时 JS 和 CSS 文件出现 404 错误。
  • Cesium.js:webGIS领域的翘楚,开源全球地理空间数据可视化框架.
  • CVAE条件生成原理推导
  • vs2022 x64 C/C++和汇编混编 遇到的坑
  • VS2022快速搭建OLLVM
  • 操作系统内存管理技术详解
  • 深入解析 Golang debug/macho 包:解锁 Mach-O 文件的秘籍
  • RPA财务机器人是什么,RPA的具体应用场景有哪些?| 实在RPA研究
  • 量化-均线回归策略
  • ubuntu安装gvm导致cd命令失效
  • Postman入门指南
  • ASP.NET在线交流论坛管理系统
  • QT信号(槽)重载:QProcess、connect、QOverload
  • php的引用
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • 77. Combinations
  • extract-text-webpack-plugin用法
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Python3爬取英雄联盟英雄皮肤大图
  • React-redux的原理以及使用
  • Redis 懒删除(lazy free)简史
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • Wamp集成环境 添加PHP的新版本
  • 工程优化暨babel升级小记
  • 汉诺塔算法
  • 我与Jetbrains的这些年
  • 小试R空间处理新库sf
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • #FPGA(基础知识)
  • #Z0458. 树的中心2
  • (1)Jupyter Notebook 下载及安装
  • (152)时序收敛--->(02)时序收敛二
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (C语言)字符分类函数
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (十六)串口UART
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (已解决)什么是vue导航守卫
  • (转)nsfocus-绿盟科技笔试题目
  • .NET MAUI Sqlite程序应用-数据库配置(一)
  • .NET Project Open Day(2011.11.13)
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NetCore部署微服务(二)
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?