大家好,我是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免费指导。快来与我一起学习吧~