基于Struts+Spring+Hibernate架构的能源管理系统的研究

基于Struts+Spring+Hibernate架构的能源管理系统的研究


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

日x模块

cation 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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信