A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 边界 初级黑马   /  2018-11-22 00:10  /  1024 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   初识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程序的维护难和独立性差的局面.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马