- 1、本文档共123页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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设备的厂商和生产电脑主机的厂商完全可以是互不相干的人,各干各事,他们之间唯
您可能关注的文档
- 移动办公系统解决方案.ppt
- 科普版小学五年级英语unit4课件.ppt
- 第1课-3、汇率变化及其影响.ppt
- 确认改进机会.ppt
- 科教版--六年级-科学-上册-第一单元-定滑轮和动滑轮.ppt
- 空间数据模型与数据结构.ppt
- 电子商务培训初级版-网店速成1.pptx
- 竞赛数学(张同君陈传理)数论3(不定方程).ppt
- 高中物理精选-牛顿运动定律的应用.doc
- 第1课-寻找生存的家园.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
最近下载
- ZZ027 全国职业院校技能大赛(中职组) 婴幼儿保育赛项理论题第3套(含答案).doc VIP
- 单片机(李朝青)课后习题答案.pdf
- ZZ027-全国职业院校技能大赛(中职组)-婴幼儿保育赛项第5套(含答案).doc VIP
- 厦门房地产行业报告.pptx VIP
- 普外科手术并发症处理ppt.pptx
- 劳淋(再发性尿路感染)中医临床路径.doc VIP
- 年处理10万吨乙醇-水筛板精馏塔设计说明书2024.12.18.docx
- 2023年2022版数学课程标准复习题.pdf VIP
- 土地利用现状调查方法技术.pdf
- 2022年人教版中考生物复习知识点思维导图 主题五 动物的运动和行为.ppt VIP
文档评论(0)