我觉得 IOC 主要分两块去理解,  第一块 IOC是干什么的为什么需要IOC ?; 第二块,IOC 这么好,该怎么用?

一: 为什么需要IOC?

回答这个问题就要从ioc的含义入手:  IOC 控制反转 又叫 DI 依赖注入 ;  这些名词可能听起来不是很明白, 没关系 ,只要明白他是解决 对象生成 的就好办了 ;

在项目中,一些对象可能在很多地方都需要用到 ; 你可能创建一个 , 然后你同事可能也创建一个 . 这样就可能 一个对象 被 创建 了 多次 ;  如果 创建对象过程简单还好,要是复杂的话 会有很多冗余的代码 ; 也不方便维护 ;

这时 如果有人说 创建对象这事 不用你管了 , 你只负责用就可以了. 你会感叹真是及时雨呀.

spring 的ioc容器 就是这个及时雨 , 使用spring ioc 容器 就意味着 不用再去创建对象了, 想用就直接拿来用好了 .

这时 你可能会疑惑  这样不用自己创建对象 是很方便, 你可能会担心他能不能满足自己的需要 , 比如 这个对象 我需要他是单例的 , 另外一个对象 我需要他是 每一次都生成一个新对象 ;  或者说 我只想让这个对象在很短的时间内存在(比如一个请求范围内) , 而另外

一个对象则在很长的时间内存在(比如,从容器初始化一直持续到容器结束) 这些需要 spring的ioc都可以满足你, spring的 提供了五种作用域 : 单例 原型 request session globalsession ;

通过上面 你基本上 了解IOC是干什么的, 而且还可以放心地把bean 交给 spring ioc 容器来管理 ;.总之他不仅能满足你的各种需求 而且还可以 帮你省去很多麻烦 . 苦活 脏活 累活 都交给他 你只需要准备好原料 和 菜单 ; 然后就可以坐等 肉到碗里来了 . 接下来就该

第二个问题了, IOC 这么好,该怎么用呢?

二: IOC 的使用 ,

由于此部分很多大牛已经讲的很好了,请自行百度: (如果需要我转述,请在评论区留言)

对IOC的理解的更多相关文章

  1. IOC的理解

    转载http://www.cnblogs.com/xdp-gacl/p/4249939.html 很不错的文章,虽说是java的,但是.net也通用,所以复制一分,拿来看看挺不错的. 1.1.IoC是 ...

  2. 谈谈对Spring IOC的理解(转)

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

  3. 谈谈对Spring IOC的理解

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

  4. Spring系列之谈谈对Spring IOC的理解

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IOC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

  5. 谈谈对Spring IOC的理解【转】

    学习过Spring框架的人 一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大 ...

  6. Spring IOC的理解

            学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理 ...

  7. 谈谈对Spring IOC的理解(转载)

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

  8. C# 一个初学者对 依赖注入 IOC 的理解( 含 Unity 的使用)

    通过 人打电话 来谈谈自己对IOC的理解 版本1.0 public class Person { public AndroidPhone Phone { get; set; } public void ...

  9. 浅析对spring中IOC的理解

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

  10. 依赖注入(DI)和控制反转(IOC)的理解,写的太好了。

    学习过spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

随机推荐

  1. C#递归所以部门展示到TreeView

    C#递归所以部门展示到TreeView 1.首先是数据库表的设计 新建一张部门表:TestUser表 1.ID自增int主键 2.DeptName:nchar(10)3.DeptCode:nchar( ...

  2. QR 码的位置检测符

    QR码的位置检测符由三个同心正方形叠加而成.分别为: 7*7 modules的黑色正方形: 5*5 modules的白色正方形 : 3*3modules的黑色正方形. 三个用于定位检测的“回”形符号应 ...

  3. 使用ES6的Promis完美解决ajax的回调(优化代码)

    相信经常使用ajax的前端小伙伴,都会遇到这样的困境:一个接口的参数会需要使用另一个接口获取. 年轻的前端可能会用同步去解决(笑~),因为我也这么干过,但是极度影响性能和用户体验. 正常的前端会把接口 ...

  4. UIWidget

    [UIWidget] UIWidget在NGUI中的层次如下. 根据上篇所述,UIRect实现实现了Anchor功能.而Widget提供的功能也很简单,如下: 可以看到,widget只提供四个属性,a ...

  5. SSM框架整合(Spring+SrpingMVC+Mybatis) 简单案例

    简介: SSM框架是Spring,SpringMVC 和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,dao层四层. Spring实现 ...

  6. SpringMVC总结一:快速入门

    MVC: MVC是一种架构模型,本身没有什么功能,只是让我们的项目结构更加合理,流程控制更加清晰,一般包含三个组件: ​ **Model(模型)**:数据模型,用于提供要展示的数据.一般包含数据和行为 ...

  7. 构造方法概念,自定义构造(init)方法的用途, 类工厂方法(就是直接用类名 类调用)

    一. 构造方法 构造方法:在OC中init开头的方法, 我们称之为构造方法 构造方法的用途: 用于初始化一个对象, 让某个对象一创建出来就拥有某些属性和值 // 比如我们定义一个Person的类,然后 ...

  8. zend studio 字体大小修改,默认编码设置

    zend studio的字体感觉很小,很多用户不是很适应,修改方法如下: 第一步:进入设置窗口    windows -> preferences 第二步:进入修改字体的选项卡.    Gene ...

  9. 733. Flood Fill 简单型染色问题

    [抄题]: An image is represented by a 2-D array of integers, each integer representing the pixel value ...

  10. 特征选择Boruta

    A good feature subset is one that: contains features highly correlated with (predictive of) the clas ...