- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java高级框架应用开发案例教程(一)
Java高级框架应用开发案例教程(一)Struts-Spring-Hibernate概述;主要内容;1.1 框架概述;1.1 框架概述;这种基于框架的软件开发方式和传统的汽车生产方式是很类似的,如图1-3所示:;那么到底什么是软件框架呢?框架(Framework)的定义如下:
是应用系统的骨架,将软件开发中反复出现的任务标准化,以可重用的
形式提供使用
大多提供了可执行的具体程序代码,支持迅速地开发出可执行的应用;
但也可以是抽象的设计框架,帮助开发出健壮的设计模型
好的抽象、设计成功的框架,能够大大缩短应用系统开发的周期
在预制框架上加入定制的构件,可以大量减少编码量,并容易测试
分别用于垂直和水平应用;框架具有以下特点:
框架具有很强(大粒度)的可重用性,远远超过了单个类;它是一个功
能连贯的类集合,通过相互协作为应用系统提供服务和预制行为
框架中的不变部分,定义了接口、对象的交互和其他不变量
框架中的变化部分(应用中的个性)
一个好的框架定义了开发和集成组件的标准。为了利用、定制或扩展框架服务,通常需要框架的使用者从已有框架类继承相应的子类;以及通过执行子类的重载方法,用户定义的类将会从预定义的框架类获得需要的消息。这会给我们带来很多好处,包括代码重用性和一致性,对变化的适应性,特别是它能够让开发人员专注于业务逻辑,从而大大减少了开发时间。如图1-4所示对有没有使用框架对项目开发所需工作量(以人*月来衡量)的影响进行了对比。;从图中我们不难看出,对于没有使用框架的项目而言,开发所需工作量(以Man days,即人*月来衡量)会随着项目复杂性的提高(以Business function,即业务功能来衡量)以几何级数递增,而对于使用框架的项目而言,开发所需工作量会随着项目复杂性的提高以代数级数递增。举个例子,假定开发团队人数一样,一个没有使用框架的项目所需的周期为6-9个月的话,那么同样的项目如果使用框架则只需要3-5个月。;在软件架构设计中,我们往往建立软件系统的高层结构,常常用到分层架构模式。
分层模式是一种将系统的行为或功能以层为首要的组织单位来进行分配(划分)
的结构模式:
— 通常在逻辑上进行垂直的层次Layer划分
— 在物理上发明则进行水平的层级Tier划分
分层要求: 层内的元素只信赖于当前层和之下的相邻层中的其它元素
(注意这并非绝对的要求)
大部分的Web应用在职责上至少能被分成4层:表示层(Presentation Layer)、持久层(Persistence Layer)、业务层(Business Layser)和域模块层(domain model Layer)。每个层在功能上都应该是十分明确的,而不应该与其他层混合。每个层要相互独立,通过一个通信接口而相互联系。下面将分别详细地介绍这四层,讨论一下这些层应该提供什么,不应该提供什么。;这里讨论一个使用三种开源框架的策略:
表示层用Struts;业务层我们用Spring;而持久层则用Hibernate。如图1-5所示。
;1.2.1 表示层
一般来讲,一个典型的Web应用的前端应该是表示层。这里可以使用Struts框架。
下面是Struts所负责的:
? 管理用户的请求,做出相应的响应
? 提供一个流程控制器,委派调用业务逻辑和其他上层处理
? 处理异常
? 为显示提供一个数据模型
? 用户界面的验证
以下内容,不该在Struts表示层的编码中经常出现,与表示层无关的。
? 与数据库直接通信
? 与应用程序相关联的业务逻辑及校验
? 事务处理
在表示层引入这些代码,则会带来高耦合和难以维护的后果。;1.2.2 持久层
典型的Web应用的后端是持久层。开发者总是低估构建他们自己的持久层框架的挑战性。系统内部的持久层不但需要大量调试时间,而且还经常因为缺少功能使之变得难以控制。这是持久层的通病。幸运地是,有几个对象/关系映射(Object/Relation Mapping,ORM)开源框架很好地解决了这类问题,尤其是Hibernate。Hibernate为Java提供了持久化机制和查询服务,它还给已经熟悉SQL和JDBC API的Java开发者创造了一个学习桥梁,使他们学习起来很方便。Hibernate的持久对象是基于POJO(Plain Old Java Object)和Java集合(collections)的。此外,使用Hibernate并不妨碍你正在使用的IDE(Integrated Development Enviroment)。 ;下面是Hibernate所负责的:
? 如何查询对象的相关信息。
Hibernate是通过一个面向对象的查询语言(HQL)或者正则表达的API来完成
您可能关注的文档
- 2018经典—中国房地产企业异地管理模式分析—培训教程.ppt
- 2018高三英语二轮复习板块二语篇理解题专题一阅读理解6明确说明文的读文.答题程序课件.ppt
- 2018高考地理二轮复习-非选择题规范审题与答题.ppt
- 2018版高考数学一轮总复习第9章统计.统计案例及算法初步9.4算法初步模拟演练课件文.ppt
- 2018高考典故题型与答题技巧(省级一等奖).ppt
- 2018版高考数学一轮总复习第9章统计.统计案例及算法初步9.4算法初步模拟演练课件理.ppt
- 2018高考必备-英语语法填空答题技巧.pptx
- 2018美国“国家地理”全球摄影大赛中国赛区精彩参赛作品.ppt
- 22课件-危害公共安全罪.ppt
- 2018高考地理备考复习-分析近几年高考试题,明确必修一备考方向.pptx
最近下载
- Unit 6 Understanding ideas Longji Rice Terraces 课件-高中英语外研版(2019)必修第一册.pptx VIP
- 护理学导论(高职)教学教案.docx
- 2024年部编新改版语文六年级上册全册月考试题含答案(共4套).docx
- 饮用水和环境卫生公众健康宣教及风险沟通答案-2024年全国疾控系统“大学习”活动.docx VIP
- 新型冠状病毒、甲型和乙型流感病毒全预混冻干多重荧光PCR检测试剂盒及其检测方法发明专利.pdf VIP
- 基金会捐赠协议.doc VIP
- XX市智慧安居工程(一期)报警求助综合受理指挥分系详细设计方案.doc VIP
- 《乡土中国》 第11篇 《长老统治》.ppt
- [知识]职业生涯人物访谈(教师).pdf VIP
- 第六单元整本书阅读《西游记》课件 2024—2025学年统编版语文七年级上册.pptx VIP
文档评论(0)