对IOC的理解
我觉得 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的理解的更多相关文章
- IOC的理解
转载http://www.cnblogs.com/xdp-gacl/p/4249939.html 很不错的文章,虽说是java的,但是.net也通用,所以复制一分,拿来看看挺不错的. 1.1.IoC是 ...
- 谈谈对Spring IOC的理解(转)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- 谈谈对Spring IOC的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- Spring系列之谈谈对Spring IOC的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IOC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- 谈谈对Spring IOC的理解【转】
学习过Spring框架的人 一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大 ...
- Spring IOC的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理 ...
- 谈谈对Spring IOC的理解(转载)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- C# 一个初学者对 依赖注入 IOC 的理解( 含 Unity 的使用)
通过 人打电话 来谈谈自己对IOC的理解 版本1.0 public class Person { public AndroidPhone Phone { get; set; } public void ...
- 浅析对spring中IOC的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- 依赖注入(DI)和控制反转(IOC)的理解,写的太好了。
学习过spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
随机推荐
- How To Install Git on CentOS 7
Introduction Version control has become an indispensable tool in modern software development. Versio ...
- leetcode884
class Solution { public: void SplitString(const string& s, vector<string>& v, const st ...
- 用sysbench压测MySQL,通过orzdba监控MySQL
1.1 安装sysbench wget https://codeload.github.com/akopytov/sysbench/zip/0.5 unzip 0.5 cd sysbench-0.5/ ...
- CrackMe的简单破解
[CrackMe的简单破解] 对于以下这样的输入账号和密码的窗口,我们可以猜测该程序使用最简单的机制实现,即用strmp来比较用户输入的密码和原始密码匹配.所以为了破解该程序,可以通过bp strmp ...
- SpringMVC总结四:拦截器简单介绍
首先要说一下HandlerExecutionChain: HandlerExecutionChain是一个执行链,当用户的请求到达DispatcherServlet的时候,DispatcherServ ...
- 使用Java读取XML数据
---------------siwuxie095 工程名:TestReadXML 包名:com.siwuxie095.xml 类名:ReadXML.java 打开资源管理器,在工程 TestRead ...
- laravel的orm增删改查
增: //通过模型新增 //使用模型的create方法新增数据 删: //通过模型删除 //通过主键删除 改: //通过模型更新数据库 //结合查询语句批量更新 查:
- SpringMVC——文件的上传
一.加入依赖 commons-io-2.0.jar commons-fileupload-1.2.1.jar 二.接口MultipartResolver Spring MVC 为文件上传提供了直接的支 ...
- bootstrap三列布局
<!DOCTYPE html><html lang="zh-cn"><head><meta charset="utf-8&quo ...
- 拉登是我罩的队_第三周_需求改进&原型设计
需求改进&原型设计 1. 需求&原型改进 1.1硬件部分(1) 硬件部分分为主机和遥控器,分别由两个单片机进行控制.(2) 单片机1:负责显示游戏的界面.使用数码管显示当前得分,使用不 ...