网站大量收购独家精品文档,联系QQ:2885784924

第19章Spring3框架技术入门.pptVIP

  1. 1、本文档共123页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

|海有|壁无|一份耕耘。

|纳容|立欲|一分收获!

|百乃|千那么|岂能事事如意,但求无愧于心!

|川大|仞刚|把微笑留给世界,让世界因你微笑!;第19章Spring3框架技术入门;在软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准那么就是高内聚、低耦合。耦合度是指模块之间联系的紧密程度,模块间的耦合度简单地说是模块之间的依赖性;模块之间的耦合度越高,维护本钱越高。降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发而动全身”的水波效应,因此模块之间的耦合应最小。Spring3的核心是IoC和AOP,其中IoC的主要作用就是降低模块之间的耦合度。;19.1Spring3软件包;19.1.1Spring3软件包下载;;;;19.1Spring3软件包;19.1.2Spring3软件包的介绍;文件夹包括如下:

〔1〕dist文件夹:该文件夹下包含Spring3的JAR包。

〔2〕docs文件夹:该文件夹下包含Spring3的相关文档、开发指南及API参考文档。

〔3〕projects文件夹:该文件夹包含Spring3提供的应用实例,这些实例是Spring3入门学习的案例。

〔4〕src文件夹:该文件夹下包含Spring3的全部源文件,如果开发过程中有地方无法把握,可以参考该源文件,了解其底层实现。;第19章Spring3框架技术入门;19.2Spring3的配置;;;第19章Spring3框架技术入门;19.3Spring3IoC的原理和主要组件;19.3.1IoC的根底知识以及原理;;2.什么是控制反转(IoC)

IoC是InversionofControl的缩写,有的翻译成“控制反转”,还有翻译成为“控制反向”或者“控制倒置”。

1996年,MichaelMattson在一篇有关探讨面向对象框架的文章中,首先提出了IoC这个概念。简单来说就是把复杂系统分解成相互合作的对象,这些对象类通过封装以后,内部实现对外部是透明的,从而降低了解决问题的复杂度,而且可以灵活地被重用和扩展。IoC理论提出的观点大体是这样的:借助于“第三方”实现具有依赖关系的对象之间的解耦,如图19-9所示。;;;再来看看,控制反转〔IoC〕到底为什么要起这么个名字?来比照一下:

软件系统在没有引入IoC容器之前,如图19-7所示,对象A依赖于对象B,那么对象A在初始化或者运行???某一点的时候,自己必须主动去创立对象B或者使用已经创立的对象B。无论是创立还是使用对象B,控制权都在自己手上。

软件系统在引入IoC容器之后,这种情形就完全改变了,如图19-10所示,由于IoC容器的参加,对象A与对象B之间失去了直接联系,所以,当对象A运行到需要对象B的时候,IoC容器会主动创立一个对象B注入到对象A需要的地方。

通过前后的比照,不难看出,对象A获得依赖对象B的过程,由主动行为变为了被动行为,控制权颠倒过来了,这就是“控制反转”这个名称的由来。;3.IoC的别名——依赖注入〔DI〕

2004年,MartinFowler探讨了同一个问题,既然IoC是控制反转,那么到底是“哪些方面的控制被反转了呢?”,经过详细地分析和论证后,他得出了答案:“获得依赖对象的过程被反转了”。控制被反转之后,获得依赖对象的过程由自身管理对象变为由IoC容器主动注入。于是,他给“控制反转”取了一个更适宜的名字叫做“依赖注入〔DependencyInjection,DI〕”。他的这个答案,实际上给出了实现IoC的方法:注入。所谓依赖注入,就是由IoC容器在运行期间,动态地将某种依赖关系注入到对象之中。

所以,依赖注入〔DI〕和控制反转〔IoC〕是从不同的角度描述的同一件事情,就是指通过引入IoC容器,利用依赖关系注入的方式,实现对象之间的解耦。;4.使用IoC的好处

还是以USB的例子为例,使用USB外部设备比使用内置硬盘,到底带来什么好处?

首先,USB设备作为电脑主机的外部设备,在插入主机之前,与电脑主机没有任何的关系,只有被我们连接在一起之后,两者才发生联系,具有相关性。所以,无论两者中的任何一方出现什么的问题,都不会影响另一方的运行。这种特性表达在软件工程中,就是可维护性比较好,非常便于进行单元测试,便于调试程序和诊断故障。代码中的每一个Class都可以单独测试,彼此之间互不影响,只要保证自身的功能无误即可,这就是组件之间低耦合或者无耦合带来的好处。;其次,USB设备和电脑主机之间的无关性,还带来了另外一个好处,生产USB设备的厂商和生产电脑主机的厂商完全可以是互不相干的人,各干各事,他们之间唯

文档评论(0)

147****4268 + 关注
实名认证
文档贡献者

认真 负责 是我的态度

1亿VIP精品文档

相关文档