谈谈我对Spring IOC与DI的理解

原创 2016年06月01日 00:23:14

IOC是一种叫做“控制反转”的设计思想。

1、较浅的层次——从名字上解析
“控制”就是指对 对象的创建、维护、销毁等生命周期的控制,这个过程一般是由我们的程序去主动控制的,如使用new关键字去创建一个对象(创建),在使用过程中保持引用(维护),在失去全部引用后由GC去回收对象(销毁)。
“反转”就是指对 对象的创建、维护、销毁等生命周期的控制由程序控制改为由IOC容器控制,需要某个对象时就直接通过名字去IOC容器中获取。

2、更深的层次——提到DI,依赖注入,是IOC的一种重要实现
一个对象的创建往往会涉及到其他对象的创建,比如一个对象A的成员变量持有着另一个对象B的引用,这就是依赖,A依赖于B。IOC机制既然负责了对象的创建,那么这个依赖关系也就必须由IOC容器负责起来。负责的方式就是DI——依赖注入,通过将依赖关系写入配置文件,然后在创建有依赖关系的对象时,由IOC容器注入依赖的对象,如在创建A时,检查到有依赖关系,IOC容器就把A依赖的对象B创建后注入到A中(组装,通过反射机制实现),然后把A返回给对象请求者,完成工作。

3、IOC的意义何在?
IOC并没有实现更多的功能,但它的存在使我们不需要很多代码、不需要考虑对象间复杂的耦合关系就能从IOC容器中获取合适的对象,而且提供了对 对象的可靠的管理,极大地降低了开发的复杂性。

版权声明:本文为博主原创文章,未经博主允许不得转载。

控制反转(IOC)和依赖注入(DI)的区别

IOC   inversion of control  控制反转 DI   Dependency Injection  依赖注入 要理解这两个概念,首先要搞清楚以下几个问题: 参与者都有谁?依赖:...
  • doris_crazy
  • doris_crazy
  • 2014年01月16日 11:23
  • 25576

关于Spring IOC (DI-依赖注入)你需要知道的一切

【版权申明】未经博主同意,不允许转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/54561302 出自...
  • javazejian
  • javazejian
  • 2017年01月19日 16:46
  • 21034

Spring IOC&DI

Spring IOC&DI 1、什么是IOC与DI? IOC:(Inversion Of Control)即控制反转。不是什么技术而是一种思想,在java开发中,IOC意味将你设计好的对象交给容器...
  • tanmin_tm
  • tanmin_tm
  • 2016年10月19日 00:45
  • 135

【Spring】IOC和DI

IOC和DIIOC和DI IOC 控制反转 简单例子介绍IOC的发展 到底什么被反转了 DI 依赖注入 构造注入 设值注入 IOC 控制反转应用程序不再负责依赖对象的创建和维护,而是由外部容器负责创建...
  • cflys
  • cflys
  • 2017年04月24日 15:13
  • 428

Spring IOC、DI、AOP原理和实现

(1)Spring IOC原理          IOC的意思是控件反转也就是由容器控制程序之间的关系,把控件权交给了外部容器,之前的写法,由程序代码直接操控,而现在控制权由应用代码中转到了外部容器...
  • mdcmy
  • mdcmy
  • 2013年01月25日 15:53
  • 19107

Spring IOC和DI的理解

控制反转(IoC)与依赖注入(DI)        在网上看到一篇关于Spring 的控制反转与依赖注入的文章,讲的极其通俗,加深理解,就做了伸手党,     原文网址:http://blog.1...
  • yiliangloveyou1270
  • yiliangloveyou1270
  • 2015年02月07日 16:07
  • 558

深入解析spring的IOC和DI

在此之前先说一下没有spring的时候,对象直接的合作是如果工作的,比如A类要调用B类的方法,首先在A类中肯定需要创建一个B对象,然后通过B对象的实例去调用A方法的实例方法,如是静态方法可以直接通过类...
  • u013239236
  • u013239236
  • 2015年07月05日 14:42
  • 661

Spring4的IoC和DI的区别

IoC(Inversion of Control): 控制反转(不是技术,而是思想)其思想是反转资源获取的方向。...
  • suzunshou
  • suzunshou
  • 2015年07月30日 14:49
  • 2041

浅谈spring的Ioc和DI

很久没回来更博了,前阵子琐事多人又比较烦躁,就没过来.今天又空就回来写写的东西,今天打算浅淡一下spring核心技术:(控制反转)IOC和(依赖反转)DI.以个人的经历来看,只要你去面试并且你使用过s...
  • JY_He
  • JY_He
  • 2016年06月30日 11:33
  • 1040

IOC控制反转和DI依赖注入区别

接触这两个概念后脑袋里经常迷糊,而且许多资料中没有说清楚,甚至混为一谈。学习完spring后,才发现这两个概念是不同时期对spring核心思想的描述,在这里就不多说了,网上资料很多。在没弄明白这两个概...
  • linjiaxingqqqq
  • linjiaxingqqqq
  • 2012年02月06日 16:27
  • 7669
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:谈谈我对Spring IOC与DI的理解
举报原因:
原因补充:

(最多只允许输入30个字)