文章目录

  • 1. 什么是IOC?
  • 2. IOC的底层原理
  • 3. 图示
  • 4. IOC接口介绍

1. 什么是IOC?

  1. 控制反转:把对象的创建和对象之间的调用过程,从程序员手里转交给Spring进行管理。
  2. 使用IOC的目的:为了降低耦合度

2. IOC的底层原理

  1. xml的解析
  2. 工厂模式
  3. 反射

3. 图示


4. IOC接口介绍

  1. IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
  2. Spirng提供IOC容器实现两种方式:
  • BeanFactory:IOC容器基本实现,是Spring里面一个内部使用的接口,不提供给开发人员使用。(加载配置文件的时候不会去创建对象,在获取对象(使用)的时候才会创建对象)。
  • ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般是由开发人员使用的。(在加载配置文件时就会创建对象
  1. ApplicationContext接口实现类
  • FileSystemXmlApplicationContext:盘符路径(全路径)
  • ClassPathXmlApplicationContext:类路径(src下)

IOC的概念和原理:什么是IOC?、IOC的底层原理、图示、IOC接口介绍相关推荐

  1. 【Hadoop】HDFS操作、数据上传与下载原理解析、高级特性及底层原理

    HDFS操作.数据上传与下载原理解析.高级特性及底层原理 1 HDFS操作 1.1 Web Console网页工具 1.2 命令行 1.2.1 普通的操作命令 1.2.2 管理员命令 1.3 Java ...

  2. Python基础----Socket编程规范及底层原理(三)---socketserver实现并发及底层原理

    Socket网络编程: 前面实现的TCP服务端只能接受一个用户接入,这里使用了并发来实现多用户接入,不废话直接上代码!原理后面慢慢给大家讲! import socketserverclass MySe ...

  3. 【JVM技术专题】「源码专题」深入剖析JVM的Mutex锁的运行原理及源码实现(底层原理-防面试)

    并行编程之条件变量(posix condition variables) 在整理Java LockSupport.park()的东东,看到了个"Spurious wakeup",重 ...

  4. [Spring5]IOC容器_底层原理

    IOC的概念和原理 什么是IOC 1.控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理 2.使用IOC目的:为了耦合度减低 IOC底层原理 xml解析 工厂模式 反射 底层原理示例图 ...

  5. 你知道 Sql 中 left join 的底层原理吗?

    总第165篇/张俊红 01.前言 写过或者学过 Sql 的人应该都知道 left join,知道 left join 的实现的效果,就是保留左表的全部信息,然后把右表往左表上拼接,如果拼不上就是 nu ...

  6. 19.Atomic系列之LongAdder的底层原理(分段锁提升并发性能)

    老王:小陈啊,上一章我们讲解了cas的缺陷,无法同时更新多个变量.以及ABA的问题.以及如果使用AtomicReference解决同时更新多个变量,如果使用AtomicStampedReference ...

  7. 18.AtomicReference、AtomicStampReference底层原理。多个变量更新怎么保证原子性?CAS的ABA问题怎么解决?

    老王:小陈啊,上一章我们说了AtomicInteger.AtomicBoolean的底层原理,这一篇我们就来说说Atomic系列的另一个分类AtomicReference和AtomicStampRef ...

  8. 17.AtomicInteger、AtomicBoolean的底层原理

    小陈:老王啊,今天就要开始Atomic原子类的学习了吧...... 老王:是啊,之前我们只是简单介绍了Atomic的体系,今天我们就要进入Atomic底层原理的的学习了,首先我们从AtomicInte ...

  9. IOC(概念和原理)

    目录 1.IOC容器概念 2.IOC底层原理 3.IOC(接口) 4.IOC操作Bean管理(概念) 5.IOC操作Bean管理(基于xml方式) 1. 基于xml创建对象 2. 基于xml方式注入属 ...

最新文章

  1. 智源论坛报名 | 智能体系架构与芯片
  2. mysql主从复制监控shell脚本
  3. go 通过nginx代理后获取用户ip
  4. 0004python中的map,reduce,lambda,filter
  5. 使用第三方插件,对office,PDF 进行预览
  6. cocos2d-x学习之自动内存管理
  7. Verilog HDL中阻塞语句和非阻塞语句的区别
  8. 浅谈href=#与href=javascript:void(0)的区别
  9. Reactive(3)5分钟理解 SpringBoot 响应式的核心-Reactor
  10. [转](转载+整理)超详细的cmake教程
  11. 表妹即将去读研,我送了她11个建议
  12. python创建excel并冻结首行
  13. java17长期支持版本_Java 8后的首个长期支持版本Java 11
  14. Topic 18. 临床预测模型之缺失值插补方法
  15. android 解决ScrollView中的子布局不能够填充整个ScrollView
  16. 使用uiautomatorviewer.bat抓取页面是显示Error obtaining Ul hierarchy Reason
  17. fpga 中的slew rate 什么意思
  18. 删除桌面菜单中的图形选项
  19. 计算机ram和rom的特点的是,什么是ROM和RAM?它们各有什么特点?
  20. java 文本转语音开发

热门文章

  1. BYTE,WORD,DWORD
  2. 电信业务经营许可证申请办事指南
  3. Android 高德地图计算 Circle 计算上下左右四个点经纬度,Circle和Polygon是否全部包含,计算地图中点到线的最短距离
  4. 高德地图两个多边形区域检测重叠解决方案
  5. EXT前端数据传不到后台
  6. 信号处理--常用术语
  7. LabVIEW编程LabVIEW控制NI 9481例程与相关资料
  8. MD5加密是什么?为什么不可解密?
  9. hylafax php,运用PHP发送传真(PHP code for Sending fax)
  10. 应届毕业生不想应聘上班,一心想独自创业,有什么好的项目推荐?