- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工作范文]spring教程
内部资料不得拷贝
Spring
Spring框架介绍
配置S应用
开发第一个S应用
AURISOFT
Spring 启程
什么是Spring?它是干什么用的?
Spring也是一个框架和Struts一样,都是轻量级的J2EE应用程式框架。struts注重于表现层和逻辑层的偶合,他主要是把业务逻辑和表现层区分开来;但是不涉及到业务与的关联。Spring主要是对业务的层次细化,也就是更深层次的降低耦合度。Spring的核心是个轻量级容器(container),实现了IoC模式的容器,Spring的目标是实现一个全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代,Spring希望提供one-stop shop(一站式)的框架整合方案。
Spring不会特别去提出一些子框架来与现有的OpenSource框架竞争,除非它觉得所提出的框架够新够好,例如Spring有自己的 MVC框架方案,因为它觉得现有的MVC方案有很多可以改进的地方,但它不强迫您使用它提供的方案,您可以选用您所希望的框架来取代其子框架,例如您仍可以在Spring中整合您的Struts框架。
Spring的核心概念是IoC,IoC的抽象概念是「依赖关系的转移」,像「高层模块不应该依赖低层模块,而是模块都必须依赖于抽象」是IoC的一种表现,「实现必须依赖抽象,而不是抽象依赖实现」也是IoC的一种表现,「应用程序不应依赖于容器,而是容器服务于应用程序」也是IoC的一种表现。
Spring的核心即是个IoC/DI的容器,它可以帮程序设计人员完成组件之间的依赖关系注入(连结),使得组件之间的依赖达到最小,进而提高组件的重用性,Spring是个低侵入性(invasive)的框架,Spring中的组件并不会意识到它正置身于Spring中,这使得组件可以轻易的从框架中脱离,而几乎不用任何的修改,反过来说,组件也可以简单的方式加入至框架中,使得组件甚至框架的整合变得容易。
Spring最为人重视的另一方面是支持AOP(Aspect-Oriented Programming,面向方面编程),然而AOP框架只是Spring支持的一个子框架,说Spring框架是AOP框架并不是一件适当的描述,人们对于新奇的 AOP关注映射至Spring上,使得人们对于Spring的关注集中在它的AOP框架上,虽然有所误解,但也突显了Spring的另一个令人关注的特色。
Spring也提供MVC Web框架的解决方案,但您也可以将自己所熟悉的MVC Web框架与Spring解合,像是Struts、Webwork等等,都可以与Spring整合而成为适用于自己的解决方案。
Spring也提供其它方面的整合,像是持久层的整合如JDBC、O/R Mapping工具(Hibernate、iBATIS)、事务处理等等,Spring作了对多方面整合的努力,故说Spring是个全方位的应用程序框架。
想要入门Spring,对于IoC/DI的了解是必要的。
什么是IoC?什么是DI?
IoC全名Inversion of Control,如果中文硬要翻译过来的话,就是「控制反转」。初看IoC,从字面上不容易了解其意义,我觉得要了解IoC,要先从Dependency Inversion开始了解,也就是依赖关系的反转。(幻灯片)
Spring所采用的是Dependency Injection来实现IoC,中文翻译为依赖注入,依赖注入的意义是:保留抽象接口,让组件依赖于抽象接口,当组件要与其它实际的对象发生依赖关系时,藉过抽象接口来注入依赖的实际对象,形象地来说,即由容器动态的将某种依赖关系注入到组件之中。
来看这样的一个例子:
现在有笔记本电脑、USB移动硬盘、U盘各一只。这三个设备都有一个共同点,就是都支持USB接口。当我们需要将数据复制到外围存储设备时,可以根据情况,选择是保存在U盘还是移动硬盘,下面的操作大家也都轻车熟路,无非接通USB接口,然后在资源浏览器之那个将选定的文件拖放到指定的盘符。
而这也正是所谓依赖注入的一个典型案例。在例子中,笔记本电脑与外围存储设备通过预先指定的一个接口(USB)相连,对于笔记本而言,只是将用户指定的数据发送到USB接口,而这些数据何去何从,则由当前接入的USB设备决定。在USB设备加载之前,笔记本不可能预料用户将在USB接口上接入何种设备,只有USB设备接入之后,这种设备之间的依赖关系才开始形成。
对应上面关于依赖注入机制的描述,在运行时(系统开机,USB设备加载)由容器(运行在笔记本中的Windows操作系统)将依赖关系(笔记本依赖USB设备进行数据存取)注入到组件中(windows文
您可能关注的文档
最近下载
- IPC-9797中文版CN2020符合汽车应用要求及其他高可靠性应用要求的压接标准.pdf VIP
- 2024年上海中考英语考纲单词表.docx VIP
- 省教育科学“十三五”规划课题开题报告【模板】.pdf VIP
- 土地复垦方案编制规程第6部分.doc
- (完整版)学校综合楼工程施工组织设计方案.doc VIP
- 政务数据“三清单一目录”共享机制介绍.pdf VIP
- T∕CECS G:J51-01-2020 公路桥梁锚下有效预应力检测技术规程.pdf
- 艺术与数字人文:数据可视化、数字遗产与艺术史研究.pptx VIP
- 《丙咪嗪在预防和治疗室颤中的作用及机制》.docx VIP
- 汽车客运服务员-五级考工试题ABC卷.doc VIP
文档评论(0)