- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于J2EE轻量级企业信息系统框架应用
基于J2EE轻量级企业信息系统框架应用
[摘要] 基于Struts、Spring和Hibernate对企业信息系统进行分层。在强调它们技术原理的基础上并结合应用实例,提出三种开源框架的整合方式,应用它们作为一种企业信息化解决方案。实现了系统各层次的松耦合,提高了扩展性、复用性和可维护性,具有一定的现实意义。
[关键词] 企业信息化 轻量级框架 Struts Spring Hibernate J2EE
目前软件系统发展已经相当复杂。大型企业信息系统的设计者越来越注重通过一个合适的框架完成系统开发。基于J2EE企业信息系统的平台无关性、层次性、安全性与可扩展性正成为企业信息化的主要解决方案。因此本文通过集成Struts、Spring和Hibernate来实现模块间的解耦,以提高企业信息系统的扩展性、复用性和可维护性。
一、J2EE框架技术
Struts起源于SmallTalk的MVC。即Model、View和Controller。由Controller解耦显示逻辑与业务逻辑,支持实现松耦合结构。面对WebWork、Spring MVC、JSF、Tapestry等,Struts设计成熟、信息资源丰富、开发群体广泛,是目前最常用的表现层MVC。
Spring是一种为解决企业应用程序开发复杂性的轻量级应用程序框架和容器。集成了J2EE许多最佳与前驱性实践。具有传统EJB的关键服务而不依赖于任何组件替代重量级EJB框架。扩展了所集成的组件并提供更高级功能。Spring完成了实际开发所需的单态模式与工厂模式。核心机制是DI(Dependency Injection)与IOC(Inversion of Control)。通过DAO和ORM 实现数据访问的抽象模块,并支持Hibernate。
Hibernate是低侵入ORM(Object-Relationship Mapping)框架。联接了面向对象程序设计语言和关系型数据库。实现了对JDBC的轻量级封装。通过J2EE中的JDBC、JTA、JNDI实现Session、Transaction和数据库连接管理。由HQL以面向对象方式查询持久化对象。ORM框架还包括OJB、TopLink等。OJB是Apache的子项目,开发文档不多,规范一直不很稳定,并未得到广泛支持。TopLink一旦作为商业产品使用则要收取费用。
二、框架的整合与实践
对于一个企业信息系统来说,考虑到虽然系统中各模块实现不同,但原理大同小异。因此,本文以开发的信息发布子系统为例集成Struts、Hibernate和Spring,并说明系统各层实??。系统架构处理流程如图所示。表现层通过控制器与业务逻辑层交互,业务逻辑层同时处理业务规则与数据访问,再与数据持久层交互。
图 系统的架构处理流程
1.Domain Object
根据系统需求从应用中抽取实体。子系统模型实体类包括:(1)Publisher:发布者信息。(2)Information:包括标题、内容、时间、图片路径、新闻审核与推荐等。(3)Category:信息分类。(4)View:信息说明或补充评论。用POJO(Plain Old Java Object)作为PO。以Information为例,其中包含Publisher、Category和View类对象。
<class name=informationpub.model.Information table=information>
<id name= informationId column=informationId type=Integer>//映射标识
<generator class=increment/></id>
<property name=informationTitle column=informationTitle length=30 type=string not-null=true></property>
......
<many-to-one name=categoryclass=informationpub.model.Categorycolumn= categoryId not-null=true/>
......
2.数据持久层
数据持久层采用DAO(Data Access Object)设计模式。对底层数据库提供CRUD操作,对上层业务逻辑提供DAO接口。DAO实现包括三个部分:(1)在DAO接口中声明CRUD等方法。(2)实现DAO接口并扩展支持类。(3)产生DAO实例,实现业务逻辑与持久层的解耦。然后获得DAO 工厂实例,产生DAO组件。通过扩展H
文档评论(0)