Spring中的IOC是什么意思,为什么要用IOC而不是New来创建实例?

大家好,我是IT修真院上海分院第5期学员,一枚正直善良的JAVA程序员。

今天给大家分享一下,修真院官网JAVA任务1中,Spring中的IOC是什么意思,为什么要用IOC而不是New来创建实例?

一、背景介绍

spring是一个基于ioc和aop结构的J2EE系统框架。解决软件开发复杂程度过高的问题,是工程人员将更多的精力集中到业务逻辑上‘

Rod Johnson在2002年对Java EE 系统框架臃肿、低效、脱离现实的种种现状提出了质疑,并积极探索革新。他编写了interface21框架,这是一个力图冲破Java EE传统开发的困境,从实际需求出发,着眼于轻便、灵巧,易于开发、测试和部署的轻量级开发框架。Spring框架即以interface21框架为基础,经过重新设计,并不断丰富内涵。

二.知识剖析

1.IOC控制反转是spring的基础,inversion of Control。是依赖对象的创建权转移到了spring中。

以前由程序代码直接操控用new,然后调用对象内部的方法,现在变成由spring创建对象。简单讲就是组件对象控制权的转移,从代码本身转移到了外部容器。是一个从内部到外部的过程。

控制反转中的参与者:某对象A,普通的任意的对象;IOC/DI容器,一个实现IOC/DI功能的程序框架;对象A的外部依赖资源C。资源包括对象或文件。

容器去控制C,控制的是C的创建。未使用容器前,是由对象A主动去创建依赖资源并初始化,而现在这项工作就交给容器了,A只需要等待直接使用就好了。这就是反转。

2.注入方法,setter方法注入和构造方法注入。

三.常见问题

IOC/DI差别?差别不大,描述的角度不同。IOC,从容器的角度出发,容器反向控制应用程序对象的创建。DI,从应用程序的角度出发,应用程序需要依赖容器注入对象。

什么是bean装配?指spring容器吧bean组装到一起,前提是容器需要知道bean间的依赖关系,通过applicationContext.xml文件中bean中的配置获得。

四.解决方案

五。编码实战

六、参考文献

Spring系列之IOC http://blog.csdn.net/hu_zhiting/article/details/51952345

http://how2j.cn/k/spring/spring-ioc-di/87.html

七.更多讨论

控制反转可以降低代码冗余,降低耦合度。

Spring帮助我们更简单地实现功能,可以让我们不必自己去创建所需要的对象实例,它包揽了此项工作,给我们提供了一个容器。我们只需要把东西放进去,随用随取。

详见视频

腾讯视频

感谢大家观看

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容