我觉得 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. How To Install Git on CentOS 7

    Introduction Version control has become an indispensable tool in modern software development. Versio ...

  2. leetcode884

    class Solution { public: void SplitString(const string& s, vector<string>& v, const st ...

  3. 用sysbench压测MySQL,通过orzdba监控MySQL

    1.1 安装sysbench wget https://codeload.github.com/akopytov/sysbench/zip/0.5 unzip 0.5 cd sysbench-0.5/ ...

  4. CrackMe的简单破解

    [CrackMe的简单破解] 对于以下这样的输入账号和密码的窗口,我们可以猜测该程序使用最简单的机制实现,即用strmp来比较用户输入的密码和原始密码匹配.所以为了破解该程序,可以通过bp strmp ...

  5. SpringMVC总结四:拦截器简单介绍

    首先要说一下HandlerExecutionChain: HandlerExecutionChain是一个执行链,当用户的请求到达DispatcherServlet的时候,DispatcherServ ...

  6. 使用Java读取XML数据

    ---------------siwuxie095 工程名:TestReadXML 包名:com.siwuxie095.xml 类名:ReadXML.java 打开资源管理器,在工程 TestRead ...

  7. laravel的orm增删改查

    增: //通过模型新增 //使用模型的create方法新增数据 删: //通过模型删除 //通过主键删除 改: //通过模型更新数据库 //结合查询语句批量更新 查:

  8. SpringMVC——文件的上传

    一.加入依赖 commons-io-2.0.jar commons-fileupload-1.2.1.jar 二.接口MultipartResolver Spring MVC 为文件上传提供了直接的支 ...

  9. bootstrap三列布局

    <!DOCTYPE html><html lang="zh-cn"><head><meta charset="utf-8&quo ...

  10. 拉登是我罩的队_第三周_需求改进&原型设计

    需求改进&原型设计 1. 需求&原型改进 1.1硬件部分(1) 硬件部分分为主机和遥控器,分别由两个单片机进行控制.(2) 单片机1:负责显示游戏的界面.使用数码管显示当前得分,使用不 ...