欢迎来到天天文库
浏览记录
ID:42166506
大小:639.00 KB
页数:14页
时间:2019-09-09
《Spring应用框架技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Spring框架及应用技术在本讲你能了解如下重点内容应用层Spring框架为什么要提供Spring框架J2EEEJB相关技术回顾Spring如何“模拟”EJBSpring中的IoC和DI(1)Spring框架的设计者----RodJohnson你知道Struts/Struts2应该属于什么类型的框架吗你知道Hibernate应该属于什么类型的框架吗`1、应用层Spring框架——开发者的春天(2)Spring框架属于应用层的框架,它提供的是一种“对象管理”的技术---包括生命周期和依赖关系、缓存等实现2、为什么要提供Spring框架(1)面向系统设计者
2、:达到“松藕合”的系统设计目标由于J2EEEJB平台的复杂性、低性能和可测试性低等特性,使得设计比较复杂,而应用了Spring后,则任何Java系统开发都能从Spring的简单、可测试和松耦合的特征中受益。你熟悉J2EEEJB组件技术吗(2)面向系统实现者:简化J2EE平台中的各种复杂的应用实现技术使J2EE更加简单和可易用性促进良好的编程习惯你知道在J2EE平台下开发所应该遵守的基本原则吗Spring具有简单、高效和可维护等优点你知道为什么要“面向接口”编程吗3、Spring框架给系统开发所带来的主要优点----“解耦”和“脱离容器”(1)OOP中的
3、“接口”、“抽象类”以及“多态性”,从技术上保证了“面向抽象编程”可行性,从而达到“松藕”目的。(2)Spring则从架构层面上使得达到上述目标的手段变得易行。4、传统的J2EEEJB平台技术在应用中所面临的问题(1)J2EE技术的发展回顾1997年Sun提出J2EE技术规范和开放的平台,大大地提升了企业级软件系统的整体质量并得到认可。然而,J2EE特别是其EJB组件技术在一些应用方面所反映出的问题-----低效、复杂以及依赖容器等导致应用系统的开发的成本比较高。(2)J2EEEJB组件技术所存在的主要问题(3)EJB2.0规范过于“庞杂”由于EJB2
4、.0规范的复杂性、并且由于J2EE应用服务器厂商对J2EE标准规范在实际执行的不一致性,最终造成J2EE的项目是:“一次编译,处处调试”的尴尬境地。注意:EJB规范尽管过于“庞杂”,但并不是“垃圾”!(4)并不是所有的企业应用系统都需要“分布处理、集群”等特性。(4)但拒绝使用J2EEEJB组件技术并不意味着拒绝应用J2EE平台中一些良好的思想和解决方案能否在轻量级平台中应用EJB中的核心技术?5、利用SpringIoC和AOP模拟实现EJB类似的主要技术(1)标准J2EEEJB组件技术平台中的主要核心思想J2EE容器实现应用系统中的各种对象生命周期管
5、理分离应用系统中的“业务逻辑组件”和“通用技术服务组件”应用服务器容器可以管理各个组件的事务并可以跨组件的隔离(如EJBCMT特性)Spring又是如何实现的呢?(2)Spring借助于IoC实现EJB组件技术中所倡导的由容器实现对象的生命周期管理SpringIoC借助于依赖注入技术,使得开发者不再需要自己来管理对象自身的生命周期及其关系,而且能够改善开发者对J2EE和GOF中各种模式的具体应用;同时SpringIoC中所要求的JavaBean是普通的POJO(非侵入性)对象,而不象EJB组件必须实现EJB的各种接口的要求(侵入性)。从而达到轻量级的实
6、现目标(3)利用SpringAOP实现EJB组件中所倡导的分离“业务逻辑组件”和“通用技术服务组件”SpringAOP是对AOP(面向方面编程)的具体实现借助于SpringAOP中所提供的各种形式的拦截器(通知)技术,开发者能够实现以声明的方式使用企业级服务---比如安全性服务、事务服务、日志等。从而达到类似EJB“容器”提供基础功能服务的目标(4)Spring框架框架吸取了EJB2的经验与教训,提出了面向POJO的“轻量级”概念。该框架其实出自作者本人的《expertone-on-oneJ2EEDevelopmentwithoutEJB》一书的基本思
7、想。注意:Spring并不能代替EJB!5、Spring中的IoC(1)IoC=InversionofControl将原来由程序控制“对象之间的关系”转由容器来实现控制,控制权从应用代码中转移到了外部的容器中,是所谓的“反转”。能够减少对象的请求者对服务提供者的特定实现逻辑的依赖。(2)常规编程实现技术中一般都是采用“硬编码”方式建立对象之间的关系引入接口和工厂模式只能完善!你熟悉GOF中的设计模式吗?(3)IOC是一种使应用程序“逻辑外在化”的设计模式因为提供服务的组件是被“注入”的而不是被“直接写入”到请求者(客户端)的代码中这样将能够大大地减少对
8、象的请求者对服务提供者的特定实现逻辑的依赖6、在应用IoC进行系统开发时对开发人员的基本要求(
此文档下载收益归作者所有