黑马程序员技术交流社区

标题: 对Spring ioc和di的粗略理解 [打印本页]

作者: 边界    时间: 2018-11-22 00:10
标题: 对Spring ioc和di的粗略理解
   初识Spring已经两天,浏览几个博客,谈谈我对spring ioc和 DI的理解.
   IOC(Inversion of control),控制反转,从字面上去理解名词的意思,谁控制了谁?为什么要反转?
以往JAVA程序创建一个对象的时候,需要自己手动的去new 一个对象,当然也需要自己手动去编写代码销毁对象(若有引用指向对象),此时的Java程序拥有对象的控制权,也就是生杀权.控制反转就是转移了我们对对象的控制权并交给spring ioc容器,由springioc来负责创建对象,存储对象,销毁对象.当我们的java程序中需要一个IOC容器中的对象时,IOC容器会将需要的对象创建并交给java程序.这个过程JAVA程序都是被动的接收的.
   DI(Dependency Injection)依赖注入.DI与IOC这两个概念很相近.我的理解是,IOC容器中存储对象依赖的其它相关对象,例如存储对象的成员变量,就是它所依赖的对象.依赖注入就是IOC容器创建这个依赖对象,并将这个依赖对象加载到这个存储对象中.
   SpringIOC 和 DI的好处在于减少了程序的耦合性,减少了Java程序过于依赖其它对象,造成了java程序的维护难和独立性差的局面.






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2