基于SpringMVC和MyBatis的轻量级MVC框架研究外文翻译资料

 2022-12-19 05:12

英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料


基于SpringMVC和MyBatis的轻量级MVC框架研究

摘要

关键词spring mvc;mybatis;mvc;framework

一、引言

近年来,随着互联网技术的快速发展和人们根据实际需要不断改进和创新,基于浏览器/服务器(B/S)模式的多层网络体系结构逐渐成熟。由于克服了传统Web应用程序开发方法的缺点,MVC模式目前得到了广泛的应用。在MVC框架中,系统分为模型层、视图层和控制器层。这些层相对独立,每个层都有一个清晰的功能。基于这些特点,MVC有利于模块化开发,大大提高了系统开发的效率、可维护性和代码重用性,能够适应日益复杂的多层应用系统的设计要求[1]。

基于MVC的Web框架的开发是Java 2企业版(J2EE)的空前繁荣。有的具有开发效率优势,有的具有运行效率优势,有的具有安全性优势。因此,我们可以将两个或多个框架的优势结合起来,创建一个相对高效和轻量级的框架。

SpringMVC将控制器、模型对象、调度器和处理程序对象的角色分离开来,这使得它们更容易被定制[2]。此外,MyBATIS是一个数据库持久层框架,封装了Java数据库连接(JDBC)[3 ],简化了操作数据库的过程,并与Hibernate进行了对比,提高了数据库的自由度和访问效率。采用Spring MVC和Mybatis技术,将这两种技术有机地结合起来,构建一个轻量级的MVC开发框架,不仅可以有效地提高系统开发效率,而且可以降低开发的复杂性,也有很好的提高系统的安全性、稳定性和鲁棒性。

本文的组织结构如下。第二部分对Struts2和SpringMVC、Hibernate和Mybatis进行了概述和比较。第三部分介绍了基于SpringMVC和Mybatis的系统实现方案。第四部分介绍了基于日期的框架比较,第五部分是本文的结论。

二、相关工作

a.MVC框架

MVC由于实现了业务逻辑和视图的理想分离,已经成为程序设计发展的一个趋势。随着人们对MVC的不断研究,MVC框架不断发展。目前,比较成熟稳定的MVC框架主要包括struts、struts2、webwork、spring mvc等,下面介绍struts2和spring mvc。

1)Structs2

Struts2是在Struts1和Webwork[4]合并的基础上开发的一种新的Web层应用程序框架。它以WebWork为核心,主要采用Java Server Page(JSP)和Servlet技术,将Servlet、JSP、自定义标签和信息资源集成到一个统一的框架中。开发人员只需要开发相应的action类、actionformbean和jsp组件,并使用struts框架开发项目。

2)Spring MVC

Spring是一个轻量级的容器框架,具有控制反转(IOC)和面向方面编程(AOP)[5]的特性,它有七个定义良好的模块。SpringMVC是七个模块中的一个,它是MVC构建Web应用程序的全功能轻量级实现。SpringMVC完美地实现了MVC的核心概念和特性,您可以通过简单的配置来动态地配置组件。SpringMVC的工作方式是这样的:当客户端发送一个HTTP请求时,核心控制器(DispatcherServlet)接收该请求,并根据URL查找handleMapping以将该请求发送到相应的控制器。控制器调用适当的业务逻辑来处理请求,并在进程完成时将视图名称和ModelAndView对象返回给DispatcherServlet,最后由ViewResolver将返回的ModelAndView呈现给相应的视图。图1显示了MVC的请求处理流程图

图1。Spring MVC请求处理流程图。

3)Struct2与Spring MVC的比较

a)运行效率:struts2的配置文件量大于spring mvc,使用时spring mvc更简洁,spring mvc的开发效率高于struts2。

b)运行效率:Struts2的设计是基于类的,对于请求,它做类级的拦截器,Spring MVC的设计是基于方法,它做方法级的拦截器;Struts2将注入动作所在类的所有属性,Spring MVC只注入当前动作的请求数据,所以Spring MVC的运行效高于struts2。

c)SpringMVC实现了业务逻辑和视图之间的完全分离。业务逻辑处理后,返回一个字符串,没有任何与视图层显示技术相关联的标志,然后通过在viewresolver中配置的字符串对应的显示技术显示数据。

B. Hibernate 和 Mybatis

mybatis和hibernate是数据库持久层框架,具有不同程度的JDBC封装。与直接使用JDBC访问数据库相比,它们的开发效率有了显著提高。

1)Hibernate

Hibernate是一个对象关系映射框架[6][7],封装了JDBC。因此,在开发业务逻辑时,程序员可以采用面向对象的编程,而不是面向数据库的编程,这使得项目开发中的分工更加清晰,开发效率得到提高。然而,学习冬眠并不是一个很低的门槛,而是一个更高的门槛来精通。它需要用户在如何设计O/R映射以及如何在性能和对象模型之间取得平衡方面有更多的经验和强大的能力。

2)Mybatis

MyBatis是一个优秀的半自动数据库持久层ORM框架,它支持常见的SQL查询、存储过程和高级映射,以及使用简单XML或注释来进行配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 下图为mybatis的工作流程图

图2。Mybatis工作流程图。

三、基于Spring MVC和MyBatis的MVC框架的实现

在基于Spring MVC和MyBatis的MVC框架实现中,利用Spring MVC框架给出了MVC模式的表达式,MyBatis作为数据库持久性框架,Excel、JSP、PDF、jQuery结合JSTL作为视图技术,并在程序运行时进行了大量的日志。MVC的层级思想如下,在该框架的实现中,控制器层由核心控制器和业务控制器组成,视图层主要由JSP和Excel等实现,模型层包括数据访问对象(DAO)层、服务层、bean层,DAO层使用mybatis访问数据库。图3显示了Spring MVC的框架结构

图3。Spring MVC框架结构

a.配置

对于SpringMVC,需要进行以下配置[9]:(1)在部署描述符文件中配置核心控制器;(2)在SpringMVC的配置文件中配置viewresolver;(3)由于使用了注释,需要启动组件扫描,并在配置中激活注释扫描功能。SpringMVC的n文件;(4)在业务控制器中进行handleMapping配置。

在使用mybatis访问数据库之前,需要配置两种类型的文件。一个是主配置文件,用于配置数据库连接信息和加载实体的映射器配置文件,以及定义实体的别名;另一个是实体的映射器配置文件,用于定义此文件的命名空间、参数类型、结果类型、CRUD操作,以及指定ID。每个操作都有不同的ID。

B.Mybatis的工作过程

在完成上述两种类型的配置文件之后,我们可以使用它们对数据库执行CRUD操作。以“插入用户记录”为例,工作流描述如下:

a)mybatisconnectionFactory.java:

生成sqlsessionFactory实例

Reader reader = Resources.getResourceAsReader ('mybatis-config.xml');

sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);

b)BaseDAO.java:定义此类中的基本操作方法。插入操作定义如下:

public void insert(String operation,T o) {

SqlSession session = sqlSessionFactory.openSession();

try {

session.insert(operation, o);

session.commit();

} finally {

session.close();

}

}

c)UserDAO.java:继承 BaseDAO

@Repository

Public class UserDAO extends BaseDAOlt;Usergt;{

Methods needed to be written or added. }

d)UserServiceImpl.java:UserDAO中的调用方法

在UserServiceImpl的实现类中,通过调用UserDAO中的insert()方法将用户记录插入数据库。

public void insertuser(User o) { userDAO.insert('User.insert', o); }

四、框架执行情况说明

对于一个框架,它的性能可以从开发效率、操作效率、系统安全性、可维护性等方面进行检查。由于本文已经对相关框架的部分性能进行了分析,因此将在基于Spring MVC和经典框架ssh[10]的MVC框架以及Hibernate和Mybatis的基础上,对MVC框架的运行效率进行测试和分析。

表一:测试在相同的环境和大致相同的任务下进行:

中央处理器

Intel(R)Pentium(R)双CPU E2140

内存

2.0G

网络容器

Tomcat6.0

操作系统

Window7

数据库

MySQL 5.5

请求

查询600条用户表记录,通过jsp页面显示

使用不同的框架执行相同的请求60次,用过滤器测量每个请求的处理时间。在DAO层记录了Hibernate和Mybatis访问数据库的执行时间。试验结果如图5所示:

图4.试验结果

表二:请求的平均运行时间:

Spring

MVC

ssh

mybatis

hibernate

平均时间(ms)

34.339

83.271

16.678

19.407

图5.平均时间

从上图可以看出,基于SpringMVC和MyBatis的MVC框架的运行效率明显高于ssh,增长了近58.76%。Mybatis的操作效率为16.678%比Hibernate高14.06%。总之,基于SpringMVC和MyBatis的框架是一个相对轻量的MVC框架。

五、具体化

本文实现了基于SpringMVC和MyBatis的轻量级MVC框架的设计。通过使用Spring注释,可以减少配置文件的数量和复杂性。SpringMVC对请求进行方法级截取,只注入方法的请求数据,有利于提高操作效率。此外,SpringMVC完全分离了业务逻辑和视图层。利用mybatis作为持久层框架,提高了数据库访问的开发速度和效率,为提高系统的安全性、性能和可维护性带来了更多的空间。

六、确认

这项工作得到了国家基础

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[19924],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。