13.IOC容器

news/2024/11/29 8:43:33/

IOC容器

IOC:Inversion of Control,翻译过来是反转控制

IOC思想

获取资源的传统方式:在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取所需要的资源,在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式,增加了学习成本,同时降低了开发效率

反转控制方式获取资源:反转控制的思想完全颠覆了应用程序组件获取资源的传统方式:反转了资源的获取方向——改由容器主动的将资源推送给需要的组件,开发人员不需要知道容器是如何创建资源对象的,只需要提供接收资源的方式即可,极大的降低了学习成本,提高了开发的效率。这种行为也称为查找的被动形式

DI:Dependency Injection,翻译过来是依赖注入DI 是 IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如:setter 方法)接受来自于容器的资源注入。相对于IOC而言,这种表述更直接

IOC 就是一种反转控制的思想, 而 DI 是对 IOC 的一种具体实现

传统方式:

  • Controller–>Service–>Dao,在实现逻辑业务需要在控制层创建Service对象,Controller依赖于Service

依赖注入:为当前对象所依赖的对象赋值的过程称为注入

  • 提前以设置好的方式被动的接收Spring的注入,依赖什么对象Spring就帮忙注入什么对象

IOC容器在Spring中的实现

Spring 的 IOC 容器就是 IOC 思想的一个落地的产品实现。IOC 容器中管理的组件也叫做 bean。在创建 bean 之前,首先需要创建 IOC 容器。Spring 提供了 IOC 容器的两种实现方式:

BeanFactory

这是 IOC 容器的基本实现,是 Spring 内部使用的接口。面向 Spring 本身,不提供给开发人员使用

ApplicationContext

BeanFactory 的子接口,提供了更多高级特性。面向 Spring 的使用者,几乎所有场合都使用 ApplicationContext 而不是底层的 BeanFactory

ApplicationContext的主要实现类

类型名简介
ClassPathXmlApplicationContext通过读取类路径下的 XML 格式的配置文件创建 IOC 容器对象
FileSystemXmlApplicationContext通过文件系统路径读取 XML 格式的配置文件创建 IOC 容器对象
ConfigurableApplicationContextApplicationContext 的子接口,包含一些扩展方法 refresh() 和 close() ,让 ApplicationContext 具有启动、关闭和刷新上下文的能力。
WebApplicationContext专门为 Web 应用准备,基于 Web 环境创建 IOC 容器对象,并将对象引入存入 ServletContext 域中。
image-20230116202717365

http://www.ppmy.cn/news/444553.html

相关文章

TiDB v7.1.0 版本 Resource Control体验

作者: Ming 原文来源: https://tidb.net/blog/8abfaa25 简介 近期迎来了 TiDB v7.1.0 版本,也是2023年首发的LTS(Long-Term Support Release)版本,相比于之前的 v6.5.0 LTS版本已经过去了很长时间&…

华硕笔记本扇热声音大

升级到win11后,没有这个设置(扇热被动),又回退到了win10 电脑桌面右下角,或者控制面板里面找到电源设置 如图,创建电源计划 更改计划设置 重启电脑 ok

华硕笔记本拆机清尘,修理

电脑电扇不转了,用了六年的华硕A85V老电脑又舍不得舍弃,想让他再坚挺坚挺!作为一个玩硬件的老油条,今天就拆机试了一波水! 工具:电工工具箱、清洁工具、胶带等 第一步,关机拔出电池&#xff0…

目标检测YOLO实战应用案例100讲-基于AE-YOLOv3的船舶目标检测与跟踪算法研究

目录 前言 船舶目标检测技术 船舶目标跟踪技术 相关理论基础 2.1引言

LIN总线协议-调度表

文章目录 一、调度表只有一个调度表时,采用循环执行三个调度表存在时,顺序执行调度表发生中断 二、总结 一、调度表 调度表规定了总线上帧的传输次序(调度Header)以及各帧在总线上的传输时间。 调度表位于主机节点,主…

第12课【嵌入式常见存储器类型】ROM RAM 一次性 DDR双倍速率 Flash

目录 存储器易失性存储器RAMDRAMSDRAMDDR SDRAM SRAMDRAM/SRAM总结 非易失性存储器ROMMASK ROMOTPROMEPROMEEPROM FLASH 存储器 存储器是组成计算机的重要部分,它可以存储数据,能让计算机拥有“记忆”。目前根据断电后,存储的数据是否会丢失…

自用网站推荐

Aconvert:Convert document, image, video and audio files online downloadly:Downloadly – Free Software Download mugle无版权音乐:朋友圈转发截图生成工具 朋友圈集赞生成器:朋友圈转发截图生成工具 pixel-me&#xff1…

【MySQL】选择专题(四)

文章目录 选择题选择题 数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是阶段( D )。 A 数据项管理 B 文件系统 C 人工管理 D 数据库系统 在数据库中,产生数据不一致的根本原因是( A )。 A 数据冗余 B 没…