开源技术StrutsSpringHibernate在MIS开发中的应用研究硕士学位论文Word文档下载推荐.docx

上传人:b****5 文档编号:18599633 上传时间:2022-12-29 格式:DOCX 页数:80 大小:1.33MB
下载 相关 举报
开源技术StrutsSpringHibernate在MIS开发中的应用研究硕士学位论文Word文档下载推荐.docx_第1页
第1页 / 共80页
开源技术StrutsSpringHibernate在MIS开发中的应用研究硕士学位论文Word文档下载推荐.docx_第2页
第2页 / 共80页
开源技术StrutsSpringHibernate在MIS开发中的应用研究硕士学位论文Word文档下载推荐.docx_第3页
第3页 / 共80页
开源技术StrutsSpringHibernate在MIS开发中的应用研究硕士学位论文Word文档下载推荐.docx_第4页
第4页 / 共80页
开源技术StrutsSpringHibernate在MIS开发中的应用研究硕士学位论文Word文档下载推荐.docx_第5页
第5页 / 共80页
点击查看更多>>
下载资源
资源描述

开源技术StrutsSpringHibernate在MIS开发中的应用研究硕士学位论文Word文档下载推荐.docx

《开源技术StrutsSpringHibernate在MIS开发中的应用研究硕士学位论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《开源技术StrutsSpringHibernate在MIS开发中的应用研究硕士学位论文Word文档下载推荐.docx(80页珍藏版)》请在冰豆网上搜索。

开源技术StrutsSpringHibernate在MIS开发中的应用研究硕士学位论文Word文档下载推荐.docx

与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。

研究生签名:

时间:

2008年5月20日

关于论文使用授权的说明

本人完全了解西北第二民族学院有关保留、使用学位论文的规定,即:

学校有权保留送交论文的复印件和磁盘,允许论文被查阅和借阅,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。

同意西北第二民族学院可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。

时间:

2008年5月20日

导师签名:

时间:

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;

学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;

学校可以采用影印、缩印、数字化或其它复制手段保存论文;

在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

日期:

日期:

摘要

随着Internet技术的飞速发展,基于B/S结构的服务器端应用程序得到了广泛的应用,实现Web应用的众多技术及其框架也层出不穷。

传统的EJB解决方案由于其复杂性无法解决其适用范围外的问题。

在开源领域,基于框架开发的技术非常活跃,尤其以Struts,Spring和Hibernate为代表。

Struts是一种实现了MVC模式的Web应用框架,它全面减轻了构建多层Web应用的负担。

Spring是为解决企业开发应用逻辑的复杂性而创立的一种框架。

Hibernate通过建立对象关系映射,解决了以前数据库开发复杂和繁琐等问题。

由于这些框架在企业开发中发挥的优势都集中在各自的范围之内,所以它们为企业开发带来了便利,同时也存在不足。

那么如何整合这三种独立的框架,发挥它们各自的优势,克服J2EE的复杂性,给软件开发者提出了挑战。

本文针对上述问题,对Struts,Spring,Hibernate框架进行研究,具体分析各种框架在Web应用的不同层次上所发挥的作用。

提出整合三种框架的思路,并设计出一个适合企业Web应用开发的符合JavaEE规范的整合框架。

该框架基于Struts的MVC设计模式,利用Struts的Controler实现整体流程控制,将应用中的业务逻辑交给Spring管理,相关类用Spring的beans配置完成,并由Spring管理下层的数据访问对象,由Hibernate负责数据的持久化。

并对Spring,Hibernate和Struts整合后框架耦合性进行深入的分析研究。

最后,以作者所开发的一个网站通用后台信息管理系统做为验证。

开发结果表明,该应用系统具有与平台无关性,可维护性、可扩展性、可移植性,同时能够使组件的可复用性得到提高。

关键词:

Spring,Struts,Hibernate,整合,MVC

Abstract

Withrapiddevelopmentoftheinternettechnology,applicationprogramsontheserverside,whichisbasedB/Sstructure,areusedwidely.AlotoftechnologiesandtheirframeworksforWebApplicationsareemergingonebyone.EJBasthetraditionalsolutioncannotresolvemanyproblemforitscomplexity.Inopensourcefield,technologybaseondevelopmentframeworksareflourish,especiallyStruts,SpringandHibernate.strutsisaWebapplicationframeworkthathasrealizedMVCmode.ItcanlightentheburdeninconstructingamultilayerWebapplication.Springwascreatedtosolvethecomplicacyofapplicationlogicofenterprisedevelopment.HibernateimproveonthecomplexdatabasedevelopmentbyusingObjectRelationalMapping.Allthisframeworkstaketheiradvantageontheirownfieldinenterprisedevelopment,thereforetheybringbothconvenienceandinsufficiency.Sohowtointegratethethreeindependentframeworks,puttheirownadvantagestothebestuse,overcomeJ2EEcomplexity,raiseachallengetosoftwaredevelopers.

Inordertoresolveabovetheseproblem,aresearchworkonStruts,SpringandHibernateframeworkshasbeendone.Therolesofthe3frameworksindifferenttiersofaWebapplicationareanalyzedindetail.Athoughtforintegrationofthe3frameworksisintroduced.Anewframework,thatissuitablefordevelopmentofenterpriseWebapplicationandconformabletoJ2EEspecification,isdesigned.TheframeworkisbasedonMVCdesignmodeofStruts.OverallprocesscontrolisimplementedbyusingStrutsController.ThebusinesslogicoftheapplicationismanagedbySpring.Relativeclasses…throughconfigurationofSpringBeans.DataAccessObjectsinunderlyingtiersaremanagedbySpring.TheresponsibilityforDatapersistenceistakenbyHibernate.AintensiveanalysisandstudyoncouplingperformancesoftheintegratedframeworkfromSpring,HibernateandStrutshasbeendonefinally,Ageneral-purposebackendMISforwebsiteshasbeendeveloped,thatisusedasaverification.Thedevelopmentresultindicatedthattheapplicationsystemhastheattributeofplatformindependency,maintainability,extendibility,portabilityandmeanwhilethemodule'

sreusabilityhasbeenenhanced.

Keyword:

Spring,Struts,Hibernate,integration,MVC

目录

开源技术Struts、Spring、Hibernate1

第1章绪论6

1.1课题背景6

1.2本文的主要工作及意义9

1.2.1课题研究的内容9

1.2.2课题的意义10

1.3论文的组织结构10

第2章开源技术应用现状11

2.1基本概念11

2.1.1设计模式11

2.1.2软件系统架构11

2.1.3框架12

2.1.4三者的关系12

2.2传统的J2EE解决方案及其缺陷11

2.3J2EE的开源技术13

第3章Web解决方案分析研究15

3.1Struts框架13

3.1.1MVC设计模式14

3.1.2Struts实现MVC机制16

3.2轻量级的Spring框架18

3.2.1依赖注入(DI)和控制反转(IoC)22

3.2.2面向切面编程(AOP)24

3.2.3Spring解决方案选择24

3.3持久层框架Hibernate26

3.3.1Java反射机制26

3.3.2对象/关系映射机制26

3.3.3Hibernate体系结构27

第4章项目实例分析与设计30

4.1项目需求分析30

4.2总体架构设计32

4.2.1业务逻辑层与数据持久层的通讯及其解耦方式33

4.2.2表示层与业务逻辑层的衔接36

4.2.3整合后的框架37

4.3框架处理流程原理设计37

4.4系统模块设计39

4.4.1持久层设计39

4.4.2业务层设计43

4.4.3表现层设计45

4.5数据库设计45

4.5.1数据库表逻辑关系设计及物理模型设计45

4.5.2表结构设计46

第5章架构应用的实现49

5.1开发环境49

5.2持久层的实现49

5.3业务逻辑层的实现53

5.4控制层的实现54

5.5视图层的实现55

5.6目录和包结构59

第6章结束语62

第1章绪论

1.1课题背景

Web开发作为一个行业从诞生到现在,已经发展到了一个非常成熟的阶段,而且规模仍在不断扩大,复杂度更加日渐升级。

设计者和开发人员如何将新的设计建立在以往的工作基础上,如何复用所以往的成功案例,将大大的提高效率[1]。

因此,人们越来越意识到软件技术复用的重要性,而且将注意力转移到对设计的提炼,随着对JavaEE进一步研究,在研究结果中发现,软件开发过程中特定领域软件存在共性部分,它是由一组紧密关联的classes(类)组成,强调类彼此的配合来完成某种可以重复运用的设计概念。

这些类之间以特定的方式合作,彼此不可或缺,研究人员将它提取出来,框架由此诞生[2]。

在开源社区中,框架更是百花齐放。

框架与建筑中的框架类似,是开发的最根本依据,一旦框架确定,项目实施路线就不容更改。

同时它比建筑学框架更便于使用,因为它已经固化了应用编程接口,提供了很多对象供开发人员直接调用。

由于软件架构建立是一个复杂的过程,软件设计人员不可能对每个不同项目做出不同的架构设计。

所以构建一个易于维护,扩展性强,可移植,松耦合的Web解决方案[3]成为一个值得研究的课题。

本项目是导师冒东奎教授所承担的国家民委2004年委属高等院校重点科研项目“面向西部企业信息系统整合的Web服务技术研究”(院内项目编号:

M200409)的一个子项目。

1.2本文的主要工作及意义

1.2.1课题研究的内容

(1)分析传统的J2EE技术,从以前流行的EJB的使用弊端推导出使用轻量级J2EE框架的优势。

(2)总结软件开发设计过程中的常用技术和方法,象什么是设计模式,什么是架构,什么是框架,以及它们之间联系和区别,以及它们在系统开发过程中的作用。

(3)对开源软件Struts,Spring和Hibernate的核心技术的研究,并认真分析StrutsMVC,Spring的IoC和AOP,中间层数据访问,以及Hibernater持久化数据原理及其方法。

最后提出了一种由表示层、控制层,业务逻辑层和持久层四层整合框架的Web开发解决方案,即:

采用StrutsMVC进行系统流程设计,Spring依赖注入模式来解决业务逻辑层中代码之间依赖性过高的问题。

用Hibernate解决传统JDBC操作数据库所带来的弊端。

同时对控制反转模式的几种实现类型进行了分析,从而为不同的程序实现提供了更多的解决方案。

作为这些研究成果的应用,本文利用Eclipse开发工具在Tomcat容器中实现了一个整合框架系统的开发。

这个系统中利用控制反转模式的思想通过设计接口和配置文件来进行动态的依赖注入,从而有效的对组件依赖性进行解耦。

同时在程序中使用面向方面编程方法对模块中的横切关注点进行分解、封装、重新组合,从而提高代码的重用性和扩展性。

1.2.2课题的意义

(1)本文通过研究Struts,Spring,Hibernate这三种轻量级框架的核心技术,充分挖掘出它们的优势,克服每个框架自身的局限性,最后将它们的优势进行整合,得到一个改进后的整合的轻量级框架。

(2)论文工作也在集成架构的基础上,开发一个实际项目,具体探讨如何将Struts的操作委托给Spring;

如何实现Struts和Spring之间的解耦;

如何用依赖注入简化数据库的操作;

如何实现AOP等。

(3)框架最重要的目标是提高西部企业MIS系统开发的竞争能力,包括降低成本、提高质量、改善客户满意程度,控制进度等。

1.3论文的组织结构

论文结构安排如下:

第1章绪论,介绍论文的研究背景、研究意义、技术应用现状、作者的工作及创新点。

第2章传统J2EE解决方案分析,首先阐述设计模式,框架,架构之间的联系与区别以及分别在软件分析与设计中所起的作用,然后分析了传统Web项目解决方案的技术思路及其优缺点,引出开源技术框架。

整合框架所需的Struts,Spring,Hibetnate框架的核心技术。

为下一章多层框架的整合提供了理论。

第3Web解决方案分析,主要研究整合框架所需的Struts,Spring,Hibetnate框架的核心技术及其各框架的优势所在。

第4章Web应用系统分析与设计,形成新的框架结构并验证其可用性。

本章重点探讨Spring与Struts和Hibernate整合的实现方式,给出相应的技术细节。

并以通用后台管理系统为例,对系统进行详细的分析和设计。

第5章SSH整合架构应用的实现,按照自己的设计原理,对通用后台做技术实现,以论证自己设计的可行性。

第6章结束语,概括总结作者在本文所做的工作及心得体会,并对今后需进一步探索的工作提出展望。

第2章传统J2EE解决方案分析

2.1基本概念

本整合框架始终是基于一种设计模式的,而且设计模式与架构,框架存在着紧密联系,同时也存在着细微区别(特别是重用,以及所能够解决问题的层次,目标)。

只有真正清晰这些概念,才能够深入理解这种基于StrutsMVC,Spring,Hibernate整合框架的内涵。

也才能够给本论文在软件开发中给出一个正确定位层次(利用现有的框架技术重新整合设计)(参见后文的图2.1和图2.2)。

2.1.1设计模式

ChristopherAlexander说过:

“每一个模式描叙了一个我们周围重复发生的问题,以及该问题的解决方案的核心。

这样,你就能够一次又一次的使用该方案而不必做重复劳动[7]”。

一般而言,一个模式有四个基本要素:

(1)模式名称(PaternName),一个助记名,它用一两个词来描述模式的问题、解决方案和效果。

基于一个模式词汇表,开发者之间就可以讨论模式并在编写文档时使用它们。

模式名可以帮助人们思考,便于我们与其他人交流设计思想及设计结果。

找到恰当的模式名也是设计模式编目工作的难点之一。

(2)问题(Problem),描述了应该在何时使用模式。

它解释了设计问题和问题存在的前因后果,它可能描述了特定的设计问题,如怎样用对象表示算法等。

也可能描述了导致不灵活设计的类或对象结构。

(3)解决方案(Solution),描述了设计的组成部分,它们之间的相互关系及各自的职责和协作方式。

因为模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决问题。

(4)效果(Consequence),描述了模式应用的效果及使用模式应权衡的问题。

软件效果大多关注对时间和空间的衡量,它们也表述了语言和实现问题。

因为复用是面向对象设计的要素之一,所以模式效果包括系统的灵活性、扩充性和可移植性的影响。

设计模式是对于重复出现的问题的一种可以重用的解决方法。

从编程的角度来说,一个模式提供了一系列特定的交互,这种交互可以应用于某些通用的目标。

以解决某个众所周知的问题。

好的设计模式会在保证有效求解问题的基础上,突破它们能解决问题的规模。

可以知道,设计模式以重用为目标,解决问题是属于对象设计级别的。

2.1.2软件系统架构

软件架构(Softwarearchitecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。

软件架构是一个系统的草图。

软件架构描述的对象是直接构成系统的抽象组件,同时设计各个抽象组件之间的连接方式和相对细致地描述组件之间的通讯。

在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。

在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。

软件体系结构是构建计算机软件实践的基础。

与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。

软件构架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难。

特别是,很难明确地区分设计和构架:

构架属于设计的一方面,它集中于某些具体的特征。

在“软件构架简介”中,DavidGarlan和MaryShaw认为软件构架是有关如下问题的设计层次:

“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。

结构问题包括总体组织结构和全局控制结构;

通信、同步和数据访问的协议;

设计元素的功能分配;

物理分布;

设计元素的组成;

定标与性能;

备选设计的选择。

[8]”但构架不仅是结构;

IEEEWorkingGrouponArchitecture把其定义为“系统在其环境中的最高层概念”。

构架还包括“符合”系统完整性、经济约束条件、审美需求和样式。

它并不仅注重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑[9]。

在RationalUnifiedProcess中,软件系统的构架(在某一给定点)是指系统重要构件的组织或结构,这些重要构件通过接口与由更小部件与接口所组成的构件进行交互。

以上关于系统架构可以总结为,软件系统的架构(Architecture)有两个要素:

(1)它是一个软件系统从整体到部分的最高层次的划分。

  一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息。

详细地说,就是要包括架构元件(ArchitectureComponent)、联结器(Connector)、任务流(Task-flow)。

所谓架构元素,也就是组成系统的核心"

砖瓦"

,而联结器则描述这些元件之间通讯的路径、通讯的机制、通讯的预期结果,任务流则描述系统如何使用这些元件和联结器完成某一项需求。

  

(2)建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。

  在建造一个系统之前会有很多的重要决定需要事先作出,而一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。

显然,这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。

2.1.3框架

框架是项目软件开发过程中提取特定领域软件的共性部分,它是由一组紧密关联的classes(类)组成,强调类彼此的配合来完成某种可以重复运用的设计概念。

这些类之间以特定的方式合作,彼此不可或缺。

框架的作用在于:

由于提取了特定领域软件的共性部分,因此在此领域内新项目的开发过程中代码不需要从头编写,只需要在框架的基础上进行一些开发和调整便可满足要求;

对于开发过程而言,这样做会提高软件的质量,降低成本,缩短开发时间,使开发越做越轻松,效益越做越好,形成一种良性循环。

框架是现成可用的应用系统,它只是

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1