2024年3月16日发(作者:)
维普资讯
2OO6年第12期
文章编号:1006-2475(2006)12.OO25.02
计算机与现代化
JIsUA Jl YU XIANDKIHUA 总第136期
基于 Struts+Spring+Hibernate架构的
能源管理系统的研究
胡晓丹,魏长军
(沈阳理工大学信息科学与工程分院,辽宁沈阳 110168)
摘要:能源管理系统在企业中占据着极其重要的地位,选择良好的体系结构对于能源管理系统的开发、维护和扩展具有
重要的意义。因此本文提出了基于轻量级Web框架——S +sp她+Hil ̄mate的系统结构,分别阐述了三种框架技
术,并将三种框架技术整合起来应用到系统中,从而提高了项目代码的可重用性和开发效率,并易于维护。
关键词:J2EE;Struts;Sprig;Hinbernate
中圈分类号:TP311 文献标识码:A
Research on Enterprise Energy Management System Based on
Struts+Spring+Hibernate Framework
HU Xiao-dan,WEI Chang-jun
(Info.Science and E IleeriIIg College。Shenyang Ligong University。Shenyang 110168,China)
Abs删:The energymanagement system l allimportantmleinthe enterprise,SO choosig na suitableframework,may greatly boost
its developing.maintainability and expansion.This paper proposes a system sl1 ̄uctur ̄that is based on Web framework——Struts+
Sp ̄ig+In-!ibcnmte,and narrates these tl kinds offrameorwk separately,and aFIpue8 the combinatorial framework to hte system.So
the codes舯reusable and siIn ,at hte叫他time the pmject is more maintainable.
Key words:J2EE;Struts;sp ̄ing;Hi
O 引 言
面对日益复杂的软件规模,人们越来越深刻地认
识到,选择良好的开发框架对保证系统的成功至关重
它要有灵
近些年来,随着信息技术的迅猛发展,特别是I『1.
要。框架是一种可复用的、可适配的软件,
temet和Intranet的普及应用,各个企业在追求高利
活的结构以易于扩展。使用合适的框架,可以节省设
润、高效益的同时,也急切需要一种现代化工具来管 计人员的时问,使其有更多的精力从事业务本身的分
理日益复杂化的工作流程。现代企业的工作流程已 析与研究,并且成熟的框架本身就是对系统质量的保
不再是简单的生产、销售,而更多的是基于整个企业
障。J2EE多层结构的出现促进了软件业的巨大改
各个部门的战略性紧密合作。在此基础上,能源管理 变,但是J2EE只是提出了一般意义上的设计开发框
并且J2EE庞大的体系显得有些臃肿。与J2EE重
部门在大型工矿企业中占据了重要地位,是整个企业
架,
的喉舌,控制着企业的所有设备能源,有着繁而杂、小
而碎、需要多部门协调工作的特点。因此,高效、灵活
量级体系相对应,轻量级Web框架——Struts+Spirng
+Hibemater不仅保持了J2EE的优势(例如事务管
还简化了Web的开发。
的设备能源管理系统不但可以加速企业的现代化进
理),
程,还可以为企业带来事半功倍的生产效率,为企业
1开源框架Struts、Spring和Hibernate
带来丰厚的经济效益。
收稿日期:2005-07-11
作者简介:胡晓丹(1981.),女,河南焦作人,沈阳理工大学信息科学与工程分院硕士研究生,研究方向:计算机应用技术;魏
长军(1962-),男,副教授,研究方向:计算机控制技术,计算机监控。
维普资讯
26 计算机与现代化 2OO6年第12期
1.1 Struts框架概述
块都是建立在核心容器上的,核心容器定义了创建、
配置和管理Bean的方式。此外Sorins还提供了AOP
的支持、JDBC的提取框架和抽象事务支持等等,可以
说是一个服务于所有层面的应用程序框架,但是开发
Struts框架是由Apache软件组织提供的一项开
源项目,它实现了MVC(模型.视图.控制器)设计模
式,尤其适用于开发大型可扩展的Web应用。Struts
框架在Web应用中使用Servlet和JSP技术,通过避免
所有的逻辑交叉,减少了各模块间的编码联系,为Ja.
va编码人员与表示层设计人员提供了一个自然的分
界线,使他们各司其职,从而提高了系统开发和维护
人员不必完全使用所有的模块,只需选择适合自己系
统的模块即可。 。
1.3 I-Ii ̄rnate
作为一个优秀的持久层框架实现,Hibernate充分
的效率。
(1)模型:模型是应用程序的主体部分,表示业务
数据与业务逻辑。一个模型能为多个视图提供数据。
由于同一个模型能被多个视图熏用,所以提高了应用
的可重用性【l J。对于较复杂的企业应用程序,模型部
分通常由JavaBean或日B组件来实现。
(2)视图:视图是一组眦或JSP页面,不包括
业务逻辑和模型信息。此外,还包括ActionFonn
Bean,它是一个普通的JavaBean,Struts利用它来进行
视图和控制器之间表单数据的传递。
(3)控制器:控制器可以理解为模型与视图之间
沟通的桥梁,它可以分派用户的请求并选择适当的视
图用于显示。基本的控制器组件是AetionServlet类中
的实例Servlet。
Struts的优点主要体现在如下几个方面:①Struts
将业务数据、页面显示、动作处理进行分离,有利于各
部分的维护 ②Struts技术中标签(Tag)库的使用,大
大简化了JSP页面代码;③配置文件的使用,使页面
间的流程一目了然,易于理解和维护;④MVC模式中
实现了功能模块化,使项目易于管理和调试。
1.2 Spring框架
Spirng是为了简化企业级系统开发而诞生的轻
量级解决方案,因为目前J2EE重量级体系显得有些
臃肿,复杂的EJB技术给项目开发带来了许多困扰。
现在有了sp衄框架,使用简单的:Jav ̄ean就可以实
现那些以前只有EJB才能实现的功能。不只是服务
器端开发能从中受益,任何Java系统开发都能从
Sorins的简单、可测试和松耦合特征中得到好处[ 。
区 困l W ebC…Ioyn模te块xt I
Il JDBC ̄ I DAO模块I l I Appl
cont
i
日x模块
cation I
I
核心容器和支持工具
图1 sp ̄.g框架的7个模块
Spring框架由7个模块组成(如图1),所有的模
体现了O/R Mapping的设计理念,提供了强大、高性
能的对象到关系型数据库的持久化服务,并已成为了
O/R M领域事实上标准。
利用Hibernate,所有的对数据库的操作变成了对
一
些实体对象的操作,开发人员可以按照Java的基
础语义进行持久层开发,这完全符合面向对象的思
想,开发人员面对的不再是JI)BC API,而是简单得多
的Hibernate API。这在很大程度上已经把开发人员
从繁重的编码工作中解放出来。2005年3月Hiber.
/late 3的正式发布进一步增强了Hiebrnate的灵活性
和可维护性,提供了绝大多数主流数据库的良好支
持,对每种数据库都有对应的Dialect进行操作优化,
从而提高了它在各种情况下的效率。
2 Struts+Spring+Hibernate架构在
能源管理系统中的应用
2.1能源管理系统功能需求
能源管理系统在企业中处于特殊而且熏要的地
位,需要实现以下各功能:
(1)能源数据查看:包括查看实时数据和历史数据。
(2)能源计划管理:编制、下达每月能源计划。
(3)数据分析:分析各部门能源利用效率和节能
潜力。
(4)每月数据报表:提供给财会人员进行成本核算。
(5)用户权限管理:根据用户的职能划分权限。
由此可见,系统具有业务逻辑复杂、数据操作需
求较大的特点,根据这些特点,选择使用Struts+
sprig+Hiebrnate框架组合是最佳选择。
2.2组合框架的结构
Struts、Sorins、Hibernate都是目前比较流行的开源
框架,其中Struts在View上实现比较突出,sp血g在
业务层实现较好,Hiebrnate在数据持久层实现比较
好,因此将三者综合运用是很成功的结合[3l。组合框
架的结构如图2所示。 (下转第3O页)
维普资讯
计算机与现代化 2OO6年第12期
5结束语
本文讨论了多线程编程技术及其可行性,说明了
参考文献:
phi 7高级应用开发教程[M].北京:科学出版
在Windows环境下进行多线程编程的意义,并重点讨
[1]牛汉民.Del
社。2OO5.
论了Delphi平台下如何开发多线程应用程序这一问
[2]郝文化.Windows多线程编程技术与实例[M].北京:中国
题,比较清晰地反映了在Windows环境下进行多线程
水利水电出版社,2005.
编程技术及其实现的作用和效果,大大提高了程序执
[3]李维.Delphi 7高效数据库程序设计[M].北京:机械工业
行的效率。
出版社,200B.
(上接第26页)
Aciton,并根据请求的参数实例化响应的ActionForm,
再经过form验证。在业务层中,管理服务组件的
Spring Ioc容器负责向Action提供业务模型(Mode1)组
件和该组件的协作对象数据处理(DAO)组件完成业
务逻辑,并提供事务处理、缓冲池等容器组件提升系
图2 Struts+Spring+Hibernate架构图
统性能和保证数据完整性。而持久层依赖Hiemabte
的对象化映射和数据库交互以处理DAO组件请求的
数据,并返回处理结果。
从Struts+Spring+Hibernate架构图(如图2)可
以看出,在该架构下系统分成四层:
(1)表示层:由Struts实现,以Struts.contig.xml为
核心,负责管理用户的请求,并做出相应的响应。
Struts还提供通用的控制组件ActionServlet承担MVC 比较原有的J2EE框架,Struts+Spring+Hiber—
中的ControUer的角色,代理调用业务逻辑(Action)和 hate将会是未来发展的趋势,Strus致力于通过MVC t
其它上层处理。ActionForm类封装与用户界面的数
模式开发清晰明确的业务流程和用户交互,实现表现
据元素。
逻辑和业务逻辑的解耦,摆脱了原有的开发模式带来
(2)业务层:该层依赖于Spring框架实现,主要负 的高耦合性。Spring作为一个应用于所有层的综合
责处理应用程序的业务逻辑和业务验证、管理事务、
框架,适合作为一些大型软件项目的底层平台,它提
保留和其它层交互的接口、管理业务层对象之间的依
供了轻量级的管理业务组件的IOC容器,实现了对
赖等功能。业务层的存在增加了表现层和持久层之
EJB技术的替代和更好的组件重用性。Hibernate实
间的灵活性,使它们不直接通讯。
现了对关系数据库的对象化,降低了程序的复杂度,
(3)持久层:采用基于O/R Mapping机制的Hiber-
nate框架。O/R M机制给予了开发者使用oo思想
开发的便利,可以有效地利用Java的反射机制构建
DAO组件,供Model组件调用。这种对数据对象的包
装屏蔽了具体的数据库和具体的数据表、字段,做到
了构建一个通用的数据处理模型在不同项目中无缝
的接人使用。
(4)域对象层:域对象是与数据库表关联的对象
的集合,是各层之间数据通信的载体,业务的对象化
主要是基于业务逻辑复用的考虑。
2.3基本业务流程
3结束语
易于调试,具有很强的扩展性。所以,Strus+Sprting
+Hibernate框架为能源管理系统的开发带来了完美
的解决方案,相信经过实践的检验Struts+Spring+
Hibernate框架的应用会有更美好的前景。
参考文献:
[1]孙卫琴.精通Struts:基于MVC的Java Web设计与开发
[M].北京:电子工业出版社,2OO4.
[2]Craig Ills,RyanBreidenbath.Sp ̄nginAction中文版[M].
李磊,程立,周悦虹译.北京:人民邮电出版社,2OO6.
[3]蔡雪焘.Hibernate开发及整合应用大全[M].北京:清华
大学出版社,2O06.
在客户端,通过JSP页面实现交互界面,负责传
送请求(Request)和接受响应(Response)。表示层的
[4]夏昕,曹晓钢,唐勇.深入浅出Hibernate[M].北京:电子
工业出版社,2005.
[5]Littlebat.使用Strus+Sprtnis+Hibenrate组装web应用
【EB/OLJ.htt ̄://www.csai.∞,2006-01-09.
Strus通过ActtionServlet接收客户端的请求,并将请求
交与Request-Processor来处理o Request-Processor根据
请求的URL从Action_Mapping中得到与之相对应的
发布者:admin,转转请注明出处:http://www.yc00.com/web/1710568822a1778946.html
评论列表(0条)