基于Struts\Spring\Hibernate架构的设计与实现

时间:2022-07-06 07:43:30

基于Struts\Spring\Hibernate架构的设计与实现

摘要:提高软件项目的可复用性,降低模块之间的耦合度,一直是软件开发过程中最求的目标。伴随着Java技术应用的日益普遍,基于Java技术的开源框架也越来越多,其中有一些框架已经被业界普遍认可。Struts、Spring和Hibernate就是这些框架中的佼佼者,使用这些技术可以规范Java项目的开发,降低模块的耦合度,提高代码的复用性。该文中主要阐述使用这三种框架如何集成以及如何对软件项目进行架构,具有一定的参考价值。

关键词:软件开发;框架;耦合度;复用性

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)18-4369-03

Based on Struts, Spring, Hibernate Architecture Design and Implementation

YUN Gui-quan

(Sichuan Information Technology College, Guangyuan 628017, China)

Abstract: To improve the reusability of software projects to reduce coupling between modules, the software development process has been the target of the most demand. With the increasingly widespread application of Java technology, open source framework based on Java technology, more and more, some of which framework has been widely recognized by the industry. Struts, Spring and Hibernate is the leader in these frameworks, the use of these techniques can regulate the development of Java projects, reducing the coupling module, improve code reusability. This article mainly discusses how to integrate the use of the three frameworks and how to structure the software project, with some reference value.

Key words: software development; framework; coupling; reusability

随着Java技术应用的增多,采用Java技术开发的项目也越来越多了,一种实用高效的软件开发框架正成为软件开发人员的必备工具。在众多框架中,Struts、spring、Hibernate的组合正成为Java企业级开发的主流选择,这是因为它可以很好地实现MVC模式、快速地开发数据库应用、以及对中间层对象有一种良好的管理等。在实际应用中,人们通常将这三种框架的组合称为SSH(Struts、Spring、Hibernate),由于这三种框架技术都是开源的,更是受到众多软件企业的追捧,使其市场占有率达到一定水平,是广大Java爱好者必学的技术之一。

1 SSH的特点

在B/S项目开发过程中,对于视图层、业务层和数据访问层的一些处理往往会是一些程序员感到一些困惑,找不到一种合适的方法来进行分层,可能会导致项目的架构混乱,同时项目的代码复用、升级以及测试等都会出现一些困难,下面就分别对Struts、Spring和Hibernate进行介绍,期望能够为Java的SSH架构这提供一些参考。

1.1 Struts的特点

Struts和Tomcat、JBoss等诸多项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。 Struts开放源码框架的创建是为了使开发者在构建基于Servlet和JSP技术的Web应用时更加容易。Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑。Struts框架本身是使用Java Servlet和JSP技术的一种Model-View-Controller(MVC)实现。

具体来讲,Struts的优点有:

1)实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现。

2)有丰富的tag可以用,Struts的标记库(Taglib),如能灵活动用,则能大大提高开发效率。另外,在Struts中对Ajax的支持更是提升了UI界面的用户体验,符合当前富客户端的开发主流思想。

3)页面导航。页面导航将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

4)提供Exception处理机制 。

5)数据库链接池管理 。

6)支持I18N 。

7)灵活方便的配置式的用户验证。

1.2 Spring的特点

Spring是一个开源的框架,目前非常流行;它是基于IoC(Inversion of Control,反向控制)和AOP(面向切面编程)的J2EE系统的框架,但它不强迫你必须在每一层中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它对不同的数据访问技术提供了统一的接口,采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现事务管理等等。

优点:

1)Spring能有效地组织你的中间层对象。如果你仅仅使用了Struts或其他为J2EE的 API特制的framework,Spring致力于解决剩下的问题。

2)通过容器来管理Spring的Bean。Spring通过配置文件来实现对Bean的依赖注入(DI),从而使Bean之间的耦合度降低,减少对其它类的依赖。

3)能够很好地实现面向接口编程,其代价几乎减少到没有,Spring能够促进养成好的编程习惯。

4)Spring被设计成一种非侵入式的编程方式。使Spring应用中的大多数业务对象不依赖于Spring。

5)Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适用于许多web应用。例如,Spring能使用AOP提供声明性事务管理而不通过EJB容器,如果你仅仅需要与单个数据库打交道,甚至不需要一个JTA实现。

6)Spring为数据存取提供了一个一致的框架,不论是使用的是JDBC还是JPA还是Hibernate等。

1.3 Hibernate的特点

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用面向对象编程思想来操纵数据库。

上一篇:基于JSP技术的网络考试系统的设计与实现 下一篇:高校信息化保障“一站式服务”模式探讨