看到一篇文章,讲Spring的依赖注入讲的很好理解,也很容易理解,非常详细。原文地址:

  https://blog.csdn.net/javazejian/article/details/54561302

  Spring IOC 也是一个java对象,在某些特定的时间被创建后,可以进行对其他对象的控制,包括初始化、创建、销毁等。简单地理解,在上述过程中,我们通过配置文件配置了BookDaoImpl实现类的完全限定名称,然后利用反射在运行时为BookDao创建实际实现类,包括BookServiceImpl的创建,Spring的IOC容器都会帮我们完成,而我们唯一要做的就是把需要创建的类和其他类依赖的类以配置文件的方式告诉IOC容器需要创建那些类和注入哪些类即可。Spring通过这种控制反转(IoC)的设计模式促进了松耦合,这种方式使一个对象依赖其它对象时会通过被动的方式传送进来(如BookServiceImpl被创建时,其依赖的BookDao的实现类也会同时被注入BookServiceImpl中),而不是通过手动创建这些类。我们可以把IoC模式看做是工厂模式的升华,可以把IoC看作是一个大工厂,只不过这个大工厂里要生成的对象都是在配置文件(XML)中给出定义的,然后利用Java的反射技术,根据XML中给出的类名生成相应的对象。从某种程度上来说,IoC相当于把在工厂方法里通过硬编码创建对象的代码,改变为由XML文件来定义,也就是把工厂和对象生成这两者独立分隔开来,目的就是提高灵活性和可维护性,更是达到最低的耦合度,因此我们要明白所谓为的IOC就将对象的创建权,交由Spring完成,从此解放手动创建对象的过程,同时让类与类间的关系到达最低耦合度。

  IOC与依赖注入的区别:

  IOC:控制反转:将对象的创建权,由Spring管理.

  DI(依赖注入):在Spring创建对象的过程中,把对象依赖的属性注入到类中。 

转载于:https://www.cnblogs.com/xiaojing0628/p/8629353.html

Spring IOC (DI-依赖注入)相关推荐

  1. Spring IOC (DI) 依赖注入的四种方式

    依赖注入的四种方式: set 注入 赋值,默认使用的是set() 方法,依赖注入底层是通过反射实现的 <bean id="student" class="cust. ...

  2. AutoFac IoC DI 依赖注入

    AutoFac IoC DI 依赖注入 记录点点滴滴知识,为了更好的服务后来者! 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌 ...

  3. Spring -Spring的 DI - 依赖注入的 使用学习

    一 . spring的DI 依赖注入,一句话总结 :给属性赋值 :           一个类中的属性都可以采用springDI的方式进行赋值,但是并不是所有的属性都适合赋值: 1. 利用set给属性 ...

  4. 【Spring】DI依赖注入(构造器、set、命名空间)

    闲话 昨晚睡得有点晚,早上八点多起来了,真想睡个午觉,但是又怕下午没时间看书 一.DI依赖注入 1.构造器注入(利用有参构造创建对象) 假设我们想要使用有参构造创建对象,那么我们就需要调整beans. ...

  5. Spring的DI(依赖注入xml版)

    一.删除使用new创建对象的代码 public class BookServicesImpl implements BookServices {//private BookMapper bookMap ...

  6. IoC控制反转和DI依赖注入

    Spring容器创建对象的两种方式 一.自己创建的类(可以添加注解) 1.创建实体类Student(添加注解@Component) @Component //@Scope("prototyp ...

  7. 【Java从0到架构师】Spring - IoC 控制反转、DI 依赖注入

    IoC 控制反转.DI 依赖注入 Spring 简介 Spring 基本使用 - IoC 容器 依赖注入 (Dependency Injection) 基于 setter 的注入 - 自定义对象 be ...

  8. Spring-初识Spring框架-IOC控制反转(DI依赖注入)

    ---恢复内容开始--- IOC :控制反转 (DI:依赖注入) 使用ioc模式开发 实体类必须有无参构造方法 1.搭建Spring环境 下载jar http://maven.springframew ...

  9. java-12:spring MVC - 控制反转IOC,依赖注入DI

    学习spring框架之前,先理解几个概念: 1.第一部分:依赖倒置原则 2.第二部分:控制反转,控制反转容器(实例) 3.第三部分:控制反转,控制反转容器(全面理解,面试题) 综合性理解:控制反转(I ...

  10. 详解spring的IOC控制反转和DI依赖注入

    转载 详解spring的IOC控制反转和DI依赖注入 2018-06-05 15:45:34 jiuqijack 阅读数 2945 文章标签: spring IOC控制反转 DI依赖注入 更多 分类专 ...

最新文章

  1. 《理解 ES6》阅读整理:函数(Functions)(五)Name Property
  2. mysql安装提示language错误_MySQL 安装 CMake Error CMAKE_CXX_COMPILER not set
  3. mysql开启gtid dump_mysqldump关于--set-gtid-purged=OFF的使用
  4. 091115 T UI生成的类
  5. *2.3.2_加入env
  6. android 平板刷机工具,小白必看,安卓平板电脑刷机教程之一键刷机
  7. 《绯雨骑士团》Demo
  8. 全网最全的人类图解析(上)——九大能量中心与64道闸门
  9. matlab残差的计算,请教MATLAB中拟合圆或者椭圆的残差如何计算
  10. 谷歌的天敌竟然是亚马逊:从开放7-Mic阵列授权说起
  11. Codeforces 1089K King Kog's Reception(线段树)
  12. 软磁材料的环境敏感性
  13. 重磅!全站首发,新鲜出炉,1024特辑,手把手教你采集 高德地图 搜索结果,获取全国海底捞信息并可视化
  14. 前端实现登录拼图验证
  15. MySQL中的聚簇索引、非聚簇索引、联合索引和唯一索引
  16. 揭秘世界顶级酒庄Chateau Renice:熟客才喝得到
  17. 在线破解网吧下载限制工具的制做方法。。
  18. 正确理解MYSQL事务的可重复读RR隔离级别与锁
  19. 声纹项目复盘(声纹识别从零到部署)
  20. 《软件工程》知识点整理

热门文章

  1. .net 零碎点梳理
  2. python中对列表和循环使用的小练习
  3. c# applibrary实现一个Sheet表中存放多张DataTable数据
  4. 【转】Android Studio简单设置
  5. Android 动态Tab分页效果
  6. JavaScript学习总结(三)——逻辑And运算符详解
  7. 《Windows via C/C++》学习笔记 —— “线程同步”之“检测死锁”
  8. Android7.1的EDP屏替换
  9. Android应用开发 led 驱动层 hal硬件抽象层 应用层 详细教程记录(含源码)
  10. python车辆轨迹分析_Ngsim数据集分析与python处理,NGSIM,解析,及