现在的位置: 首页 > 操作系统 > 正文

SpringIOC代码阅读

2020年02月13日 操作系统 ⁄ 共 852字 ⁄ 字号 评论关闭

1,理解控制反转

以前一直说着这个词,然后把它等于上ioc这个词,再等于上代码里一个bean里依赖了其他bean,不用new,用注解,用xml去描述,就可以了。能用就行了,实际理论的不管也不影响编码,其实能用了内心也是理解是怎么回事的,知识理论上说不好而已。

我觉得只要理解一个事情就好了,ioc所谓的控制翻转,它控制翻转的是什么?

依赖对象的获得被反转

  把一个bean中对其他bean的依赖这个事提取出来,统一由一个容器管理,解耦了bean管理和业务的代码(工厂方法模式不就干这事嘛)

最后,Spring提供了一个IoC容器来管理对象的生命周期、依赖关系,这也是spring的最核心的基础组件。

其实控制反转也是一种设计模式,的确,从项目层面抽取了管理bean依赖关系,彻底解耦bean注入和业务代码,也是一种软件开发中的思想。

谈谈对Spring IOC的理解 http://www.xuebuyuan.com/Linux/2015-01/112409.htm

2,IoC容器

它要完成什么事?

通过解析bean依赖关系的描述,容器需要创建出项目中所有需要管理的bean,然后注入。

那么拆成打的两步:1,把依赖关系描述解析成bean;2,把bean注入

但是,既然是bean之间有依赖关系,当生产一个bean时,它依赖的bean也需要已经产生,所以在一个软件中,触发开始初始化容器的时候是把项目中用到的bean看成树结构的样子,然后一次递归的生产bean,注入。有点像目录结构遍历。

比如:A依赖B B依赖C,那么A生产时会触发B生产,然后触发C生产。

所以,我们阅读IoC源码时也会看到这样的实现。

3,IoC容器的实现

BeanFactory和ApplicationContext

BeanFactory是容器基础设计,ApplicationContext增加了针对企业软件一些扩展功能,应该说后者是前者的高级形态。

以上就上有关SpringIOC代码阅读的全部内容,学步园全面介绍编程技术、操作系统、数据库、web前端技术等内容。

抱歉!评论已关闭.