Study on Method of Integration of the J2EE Framework Based on Struts, Spring and Hibernate
WANG Mei-qin
(Zhejiang Tongji Vocational College Of Science and Technology, Hangzhou 311231, China)
Abstract: This paper introduced the MVC design pattern and three kinds of open-source framework technologies (Struts, Spring and Hibernate),analyzed the theory and characteristics.The paper discussed three integration technologies of Struts and Spring framework,compared their advantages and disadvantages,improved the third method and gived more detailed code; To the integration of Spring and Hibernate framework,the paper gived its implementation and central code.The purpose of the framework integration was loose coupling between components and highly improve the software developing efficiency.
Key words: J2EE; Struts; Spring; Hibernate; Integrated Architecture
J2EE技术是目前B/S架构应用中最为成熟的技术之一,被几乎所有的JavaWeb开发人员所熟悉,在这个领域中人们经常会谈论三个非常流行的轻量级开源框架Struts,Spring,Hibernate。目前J2EE企业级开发技术较成熟,开发模式也较繁多,较流行开发模式MVC更是普遍,现在使用最多的可能就是SSH这三种框架。而软件应用框架不是一个可用的应用系统,它是一个半成品,由一些相互协作的类和相关接口组成,应用开发人员可在该软件应用框架基础上进行二次开发,以实现特定功能的应用系统[1]。在多层Web体系结构设计中,普遍存在着开发产品性能差、维护工作量大及应变能力不足等缺点。因此,在开发Web应用系统的过程中,提高开发效率,合理选取技术进行分层设计、框架搭建,充分发挥应用系统的灵活性、安全性和实用性尢为重要。
笔者在本文中主要研究讨论SSH这三种开源框架的糅合使用到底是怎样实现的方法和策略,分析了Struts、Spring和Hibernate框架的工作原理和技术优势,研究了三种框架的具体整合方案,设计了一个通用、高效、易于扩展的WEB应用架构。在该架构中,表示层采用Struts,业务层采用Spring,持久层采用Hibernate,各层功能独立,层次之间松散耦合,为实现高效、灵活的WEB应用提供一种新的思路及方法。
1 J2EE简介
J2EE是英文“Java 2 Platform,Enterprise Edition”的缩写。Java2平台企业版是Sun公司定义的一套全然不同于传统应用开发的技术架构。从整体上讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。目前,Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE和适用于企业级应用的J2EE。图1是一个比较简单的J2EE体系架构图。
2 Struts、Spring和Hibernate框架分析
2.1 MVC设计模式
MVC是Model-View-Controller的缩写,中文翻译为"模式-视图-控制器",MVC源于传统的面向对象语言SmallTalk-80,是第一个分开表示逻辑和业务逻辑的设计模式。MVC引入视图(表示层)、模型(数据)和协调两者的控制器,使之相对独立,从而提高灵活性和复用性。模型、视图、控制器三者之间的关系和各自的主要功能,如图2所示。
2.2 基于MVC设计模式的Struts框架技术
Struts是一个在JSP Model2基础上实现的MVC框架,主要分为模型(Model)、视图(Viewer)和控制器(Controller)三部分,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性[2]。Struts框架的体系结构如图3所示[3]。
Struts的核心是Controller,即ActionServlet,而ActionServlet的核心就是Struts-config.xml。Struts-config.xml集中了所有页面的导航定义。对于大型的Web项目,通过此配置文件即可迅速把握其脉络,这不管是对于前期的开发,还是后期的维护或升级都是大有裨益的。掌握Struts-config.xml是掌握Struts的关键所在。
2.3 基于IoC和AOP的Spring框架技术
Spring是一个开源框架,由Rod Johnson创建,目的是解决企业应用开发的复杂性,功能是使用基本的JavaBean代替EJB,并提供了更多的企业应用功能。Spring 是一个轻型的控制反转(IoC)和面向切面(AOP)的容器框架,使用一个外部 XML 配置文件可以方便地利用它把对象连接在一起,每个对象都可以利用JavaBean 属性进行一个依赖对象的引用,而用户自己的任务就只需要在一个 XML 配置文件中设置一下连接属性[4]。
1) 轻量级
轻量是指从大小与开销两方面而言Spring都是轻量的,完整的Spring框架可以在一个大小只有1MB多的JAR文件中发布,并且Spring所需的处理开销也是微不足道的。
2) IoC和Spring
IoC是“Inversion of Control”的缩写,意思是控制反转,又称为“依赖注入”。Spring通过一种称为控制反转(IoC)的技术促进了松耦合,当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
3) AOP和Spring
AOP是OOP的延续,是“Aspect Oriented Programming”的缩写,意思是面向切面编程,是一种可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。这种技术允许业务逻辑与系统服务进行内聚性的开发,使得应用对象只做它们应该做的,完成业务逻辑,仅此而已。
4) Hibernate框架技术
Hibernate是一个开放源代码的对象关系映射(Object Relation Mapping,简称ORM)框架,它提供了从Java类到数据表的映射,也提供了数据查询和恢复等机制,Hibernate负责持久化层,完成数据库的crud操作,为持久层提供OR/Mapping,从而大大减少数据访问的复杂度,把对数据库的直接操作,转换为对持久对象的操作。
3 Struts、Spring和Hibernate框架的整合方法
Web应用系统框架层次分为四层:表现层、持久层、业务层、域对象层。每个框架分别负责一个层次的实现,表现层使用Struts,业务层使用Spring,持久层使用Hibernate。每层在应用程序中都有明确的责任,各层以一种松耦合方式彼此作用但又彼此独立,各层不用管低层的技术细节。集成框架开发出来的Web系统无论在整体结构上还是在局部的复杂业务模型中都有了更低的耦合性,它们的灵活性与可维护性也得到了提高,从而消除了单独使用这三种框架开发系统的不足。 (责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)