IOC的含义
new的方式创建对象,是主动去找对象。对我的资源独立就变的很难,因为这有明显的依赖关系

第二种方式创建对象。app断开了和资源的联系,。而是去找工厂要一个资源。由工厂负责和资源去的联系,并把想要的对象再转到应用系统

AccountServiceImpl使用上面这行代码也是完全可以找到自己想要的dao的
 
但是它自己完全找到这个dao的权利放弃了。把这个权利交给了BenFactory。BenFactory再通过一个固定的名称之后。给我们找到我想要的bean对象。这个对象是不是你能用的呢?对于这个类来说它已经无法得知了。

因为工厂能得到哪个对象是根据这里配置的全限定类名来决定的。这个类无法自己独立的控制

而上面这个类有自己独立的控制权,想要谁就要谁

这种控制权发生的转移。我们就叫做控制反转。
降低我们程序之间的依赖关系。削减计算机的耦合

转载于:https://www.cnblogs.com/wangjunwei/p/11345179.html

阶段3 2.Spring_03.Spring的 IOC 和 DI_1 ioc的概念和作用相关推荐

  1. Spring双生武魂之IOC

    众所周知,Spring的精髓是什么?没错,就是IOC(DI)和AOP. AOP在之前已有记载,点击传送  Spring双生武魂之AOP 什么是IOC? 小白肯定不知道什么是IOC或者说DI,这里就直接 ...

  2. java基础巩固-宇宙第一AiYWM:为了维持生计,Spring全家桶_Part1-1(Spring左膀右臂中的左膀IOC第一篇~全是概念,Spring为啥辣么6)~整起

    我Java学的好好的,为什么要学spring框架呀[一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合]?或者说,成天喊简化开发,spring是如何简化开发的?或 ...

  3. spring源码深度解析— IOC 之 默认标签解析(下)

    默认标签中的自定义标签解析 注册解析的BeanDefinition 通过beanName注册BeanDefinition 通过别名注册BeanDefinition alias标签的解析 import标 ...

  4. springaop事务逻辑原理_太狠了!阿里大牛手写的Spring核心面试笔记:IOC+AOP+MVC+事务...

    Spring作为现在最流行的java 开发技术,其内部源码设计非常优秀.如果你不会Spring,那么很可能面试官会让你回家等通知. Spring是什么? 有一个工地,几百号人在用铁锹铲子挖坑. 如果开 ...

  5. Spring的控制反转(IOC)和依赖注入(DI)具体解释

    Spring的控制反转(IOC)和依赖注入(DI)具体解释 首先介绍下(IOC)控制反转: 所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的.这样控制器就有应 ...

  6. Spring Ioc注解式开发中注解的作用

    Spring Ioc注解式开发中注解的作用 目标:本章节注重于Spring Ioc的注解式开发之中注解的作用. 基于注解的DI实现IOC 1.定义bean而注解 a.@Component @Repos ...

  7. spring框架的概述以及spring中基于XML的IOC配置——概念

    1.spring的概述     spring是什么     spring的两大核心     spring的发展历程和优势     spring体系结构 2.程序的耦合及解耦     曾经案例中问题   ...

  8. 【spring源码分析】IOC容器初始化(二)

    前言:在[spring源码分析]IOC容器初始化(一)文末中已经提出loadBeanDefinitions(DefaultListableBeanFactory)的重要性,本文将以此为切入点继续分析. ...

  9. ioc spring 上机案例_抛开Spring去理解IOC思想 - 原来IOC容器这么简单

    很多小伙伴们看到标题可能就会想到抛开Spring就不会存在IOC思想了,其实不然在接下来的文章中就会讲述到. 很多小伙伴在理解IOC的时候通常会和Spring放到一起去学习,首先呢Spring设计的非 ...

  10. Spring中将BeanDefinition注册到IOC容器中

    Spring中将BeanDefinition注册到IOC容器中 XML配置元信息 <bean name="-" - /> 注解: @Bean,@Component,@I ...

最新文章

  1. SQL2008安装后激活方式以及提示评估期已过解决方法(转)
  2. matlab算法时间复杂度,关于降低算法时间复杂度问题的探讨和总结
  3. javaee, javaweb和javase的区别以及各自的知识体系
  4. hibernate中一对多关系的映射
  5. 在Linux里安装和启动nginx的方法
  6. windows内核情景分析---进程线程1
  7. 两相流计算中,如何用Tecplot提取水相断面平均物理量?
  8. 基于sqlite数据库的C语言编程
  9. javabean连接mysql数据库,jsp+javabean 链接 mysql 数据库
  10. 2020,“拷问”AI创业与投资
  11. 如何在.NET中启用程序集绑定失败日志记录(Fusion)
  12. ArcGIS API for Silverlight/WPF/Windows Phone/Android 插件下载地址
  13. 机器视觉开源处理库汇总-介绍n款计算机视觉库/人脸识别开源库/软件 -几种图像处理类库的比较-视觉相关网站...
  14. 多层陶瓷电容器用处_元器件用法:多层陶瓷电容器的用途
  15. canvas书写图片并修改尺寸
  16. Ubuntu 18.04 中Chrome浏览器安装与使用
  17. 南京旅行拍照攻略分享
  18. 键盘上特殊符号的中英文名称
  19. 常见短信平台发送的号码有哪些?95开头、106开头短信发送号码区别说明
  20. 金蝶软件界面乱码及输入汉字时乱码的解决方案

热门文章

  1. python编写窗口怎么清除内容_如何删除或销毁tkinter中的标签?
  2. opengl游戏引擎源码_我用C++复刻了这款上世纪最伟大的游戏
  3. explain ref_explain的属性详解与提速百倍的优化示例
  4. 拓端tecdat|R语言对BRFSS数据探索回归数据分析
  5. Try using .loc[row_indexer,col_indexer] = value instead
  6. pytorch损失函数
  7. 使用Jquery对数组进行迭代、排序、去重! 美男子加油!!!
  8. 初始MySQL增删改查数据
  9. c++ 多线程_python要点-多线程
  10. open函数返回-1_牛逼!Python函数和文件操作(长文系列第3篇)