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

spring的Ioc、DI以及Bean的理解

文章目录

  • 什么是Ioc?
  • Spring和这有什么关系
  • Spring是怎么做的?
  • 如果service层对dao层有依赖该怎么办?
  • 什么叫做依赖注入
  • Spring这样做的目的是什么
  • 参考文献

什么是Ioc?

Ioc(Inversion of Control) 控制反转,就是使用对象时,由主动new产生对象转换为由 外部 提供对象,此过程中对象创建的控制权有程序转移到 外部 ,这种思想就叫做Ioc(控制反转)

Spring和这有什么关系

Spring把Ioc这个思想给实现了

Spring是怎么做的?

Spring提供了一个容器,称为 Ioc容器 ,用它来充当Ioc思想中的 外部,所以可以把上面的话理解为

使用对象时,由主动new产生对象转换为由 Ioc容器 提供对象

Ioc容器负责对象的创建和初始化,并且被创建或者管理的对象在Ioc容器中叫做 Bean

在Ioc容器中不仅有数据层实现dao的对象,还有业务层实现service的对象

如果service层对dao层有依赖该怎么办?

这个Spring也考虑到了,因为不管是service层的对象,还是dao层的对象,它们都是从Ioc容器中获取到的,所以service如果对dao有依赖,在Ioc容器中也给你实现了,这种方式就叫做DI(依赖注入)

什么叫做依赖注入

DI(Dependency Injection)依赖注入,就是在容器中建立bean与bean之间的依赖关系的整个过程

Spring这样做的目的是什么

  • 目标:充分解耦
    • 使用Ioc容器管理Bean (Ioc)
    • 在Ioc容器中将有依赖关系的Bean进行关系绑定(DI)
  • 最终效果
    • 使用对象时不仅可以直接从Ioc容器中获取,并且获取到的bean已经绑定了所有的依赖关系

参考文献

1. 黑马程序员SSM框架教程

http://www.lryc.cn/news/199475.html

相关文章:

  • 倒计时 天时分秒
  • Spring篇---第六篇
  • 【unity小技巧】适用于任何 2d 游戏的钥匙门系统和buff系统——UnityEvent的使用
  • 爬虫ip如何加入到代码里实现自动化数据抓取
  • 在win10上安装配置Hadoop的环境变量
  • MAX插件CG Magic怎么云渲染?操作方法已整起!
  • 尝试使用jmeter-maven-plugin
  • navigator.userAgent.toLowerCase区分设备,浏览器
  • 防火墙操作:开放端口ICMP时间戳请求漏洞修复
  • MySQL配置环境变量和启动登录
  • 救济金发放(The Dole Queue, UVa 133)rust解法
  • oracle实验四
  • 数据结构-堆排序Java实现
  • C#进阶——反射(Reflection)
  • Oracle 运维篇+应用容器数据库的install、upgrade、patch、uninstall
  • Affinity Publisher for Mac/Windows最新中文下载 排版神器
  • Mac文件对比同步工具 Beyond Compare 4.4.7
  • 技巧 | 如何解决 OBS 系统声音无法捕获问题 | Mac
  • 从头开始机器学习:逻辑回归
  • 插入排序 算法
  • “揭秘!如何通过京东商品详情接口轻松获取海量精准商品信息!“
  • 已经有多人中招,不要被AI换脸技术骗了!
  • solidworks 2024新功能之--保存为低版本 硕迪科技
  • MySQL --- 聚合查询 和 联合查询
  • Note——torch.size() umr_maximum() array.max() itertools.product()
  • python学习笔记6-DefaultDict
  • Redis 底层对 String 的 3 个优化
  • 简约艺术签名小程序源码/流量主小程序源码/字节跳动抖音小程序
  • Ubuntu(kylin)挂载iso文件和配置apt本地源
  • wps表格求标准差怎么算?