admin 管理员组

文章数量: 1086019


2024年3月28日发(作者:线下web前端培训)

javaSHS框架中三大框架的相关性研究

摘要 javaSHS框架体系主要由Spring、Struts和Hibernate三大框架组成,

其在项目应用中有着不同的特点。本文通过对java三大框架的简述,对其相关

性进行了探究。

关键词 java框架;项目应用;相关性研究

1 java的三大框架

1.1 Spring框架

Spring框架是Java平台的应用程序框架。框架的核心功能可以由任何Java

应用程序使用,但是需要在Java EE平台之上构建Web应用程序的扩展。尽管该

框架并没有强加任何特定的编程模型,但它已经在Java社区中变得流行起来,

作为企业JavaBeans(EJB)模型进行替代或添加,Spring框架是开源的。

Spring框架的核心是控制(IoC)容器的反转,它提供了使用反射配置和管

理Java对象的手段。容器负责管理特定对象的对象生命周期:创建这些对象,

调用它们的初始化方法,并通过将它们连接在一起来配置这些对象。由容器创建

的对象也称为受管对象或bean。可以通过加载XML文件或检测配置类上的特定

Java注释来配置容器。这些数据源包含提供创建bean所需信息的bean定义。可

以通过依赖关系查找或依赖注入来获取对象。依赖关系查找是一种模式,调用者

向容器对象询问具有特定名称或特定类型的对象。依赖注入是容器通过名称向其

他对象通过构造函数、属性或传递对象的模式。在许多情况下,在使用Spring

Framework的其他部分时,不需要使用该容器,尽管使用它可能会使应用程序更

易于配置和自定义。

1.2 Struts框架

Apache Struts 是开发Java EE Web应用程序的开源Web应用程序框架,它

使用并扩展了Java Servlet API,以鼓励开发人员采用模型视图控制器(MVC)

架构。WebWork框架从Apache Struts中脱颖而出,旨在提供增强和改进,同时

保留原始Struts框架的相同通用架构[1]。在标准Java EE Web应用程序中,客户

端通常将通过Web表单调用服务器。然后,将信息交给Java Servlet,该Servlet

与数据库进行交互,并生成HTML格式的响应,或者将其提供给混合HTML和

Java代码以实现相同结果的JavaServer Pages(JSP)文档。这两种方法通常被認

为不适合大型项目,因为它们将应用程序逻辑与演示相结合,并使维护变得困难。

Struts的目标是将模型与数据库交互的应用程序逻辑视图呈现给客户端的HTML

页面和控制器,在视图和模型之间传递信息并进行分离。Struts提供控制器便于

为视图或表示层提供服务,通常在JSP中编写模板,但也支持XML / XSLT和

Velocity。Web应用程序员负责编写模型代码,并用于创建将模型、视图和控制

器绑定在一起的中央配置文件。来自客户端的请求以配置文件

中定义的操作的形式发送到控制器,如果控制器接收到这样的请求,它将调用与

应用程序特定的模型代码进行交互相应的Action类。模型代码返回一个

ActionForward,一个字符串,告诉控制器要发送给客户端的输出页面。信息以

特殊Java Beans的形式在模型和视图之间传递。

1.3 Hibernate框架

Hibernate ORM(简称Hibernate)是Java编程语言的对象关系映射工具。它

提供了将面向对象的域模型映射到关系数据库的框架。Hibernate通过用高级对

象处理函数和数据库访问来解决对象关系不匹配问题。Hibernate是分布在GNU

通用公共许可证2.1下的免费软件。Hibernate的主要功能是从Java类映射到数

据库表以及从Java数据类型映射到SQL数据类型。Hibernate还提供数据查询和

检索功能。它生成SQL调用,并加强开发人员对结果集的手动处理和对象转换。

Hibernate为普通Java对象(POJO)提供透明的持久性。持久化类的唯一严格要

求是无参数构造函数,不一定是public。某些应用程序中的正确行为也需要特别

注意equals和hashCode方法。数据对象的集合通常存储在Java集合类中,例如

Set和List接口的实现,支持Java 5中引入的Java泛型。Hibernate可以配置为延

迟加载关联集合,可以将相关对象配置为将操作从一个级联到另一个。

2 框架作用及相关性

Spring在项目中的作用。Spring是一个全方位的整合框架,在项目中对

hibernate和struts进行整合,解决层与层之间的耦合问题。Spring的作用贯穿了

整个中间层,将Web层、Service层、DAO层及PO无缝整合。Spring的IOC来

实现组件之间的依赖关系注入,上层框架不会渗透到下层组件,提高组件移植性

和重用性,使得程序更灵活,上层框架不依赖实现而是依赖于抽象(委托接口)、

使得实现类的变化不会影响上层组件,解决了层与层之间的耦合带来的维护或升

级困难。SpringAOP 是面向方面编程,实现事务处理、日志服务等与业务无关

的系统服务。

Struts在项目中的作用。Struts 在项目主要起控制作用,只要用于web层(即

视图层和控制层)。Struts本身是使用典型的MVC结构实现的,项目中使用了

struts之后就等于项目也是一个MVC结构,使项目结构更清晰,分工更明细。

Struts在项目中主要负责视图层、控制层,在视图层提供了大量的标签库,提高

视图层的开发速度。在控制层使用中央控制器(Actionsupport)和配置文件

(),实现拦截用户请求、封装请求参数及页面导航。

Hibernate在项目中的作用。Hibernate应用于数据持久化层,是对JDBC的

轻量级封装。是一种对象、关系的映射工具,提供了从 Java类到数据表的映射,

也提供了数据查询和恢复等机制,大大减少数据访问的复杂度。把对数据库的直

接操作,转换为对持久对象的操作。在项目中的主要作用就是[2]:①解决程序

与数据库的依赖,即使用了Hibernate之后,以后更改数据库不需要更改代码,

因为Hibernate会根据数据库方言来生成对应的SQL语句;②是对JDBC的轻量

级封装,简化持久层的代码,提高开发速度。

3 总结与展望

struts主要负责表示层的显示,spring处理控制业务,负责对数据库的操作,

hibernate主要是数据的持久化到数据库。JavaSHS三大框架应用极为广泛,因此

需要根据不同的涉及环境选择一种或者多种框架进行开发,才能达到事半功倍的

效果。

参考文献

[1] 钟世伟.基于JAVA的医院人事管理信息系统的设计与实现[J].信息通信,

2013,(5):104-105.

[2] 杜晓昕,张剑飞,金涛.多维任务驱动教学法在JAVA教学中的应用[J].

高师理科学刊,2012,32(1):85-87.


本文标签: 对象 框架 模型 提供 视图