Java高级框架应用开发案例教程(一).pptx

Java高级框架应用开发案例教程(一).pptx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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来完成

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档