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

 2022-08-05 10:08

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


2013第六届计算智能与设计国际研讨会

基于Spring MVC和Mybatis的轻量级MVC框架研究

张丹丹,魏志强,杨永泉计算机科学系

中国海洋大学

中国青岛

zddsol@gmail.com, weizhiqiang@ouc.edu.cn, i@yangyongquan.com

摘要:为了提高基于MVC (Model-View-Controller)框架的Web应用程序的开发和运行效率,结合项目实践中的实际业务环境和需求,本文对Web应用程序系统框架进行了研究。本文通过对Spring MVC框架和Mybatis框架以及相关核心技术的研究,结合JSP和JSTL技术,实现了基于Spring MVC和Mybatis的轻量级Web应用框架的设计。

Keywords-Spring MVC;Mybatis;MVC;框架

介绍

我。

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

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

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

在开发的复杂性方面,也有很好的提高了系统的安全性、稳定性和鲁棒性。

本文组织如下。第二部分介绍了Struts2与Spring MVC、Hibernate和Mybatis的概述和比较。第三部分介绍了基于Spring MVC和Mybatis的系统实现方案。第四部分是基于时间的比较,第五部分是本文的结论。

相关工作

2

答:MVC框架

MVC由于将业务逻辑与视图理想地分离,已经成为程序设计发展的一种趋势。随着人们对MVC的不断研究,MVC框架也在不断发展。目前较为成熟稳定的MVC框架主要包括Struts、Struts2、Webwork、Spring MVC等。下面介绍Struts2和Spring MVC。

1) Struts2

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

2) Spring MVC

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

978-0-7695-5079-4/13 $26.00copy;2013 IEEE DOI 10.1109/ISCID.2013.94

350

授权许可使用仅限于:南京工业大学。下载于2021年3月20日07:19:00 UTC从IEEE Xplore。限制适用。

相应的视图。图1显示了Spring MVC的请求处理管道。

图1所示。Spring MVC的请求处理管道。

3) Struts2与Spring MVC的比较

a)运行效率:Struts2的配置文件量比Spring MVC大;Spring MVC在使用时更加简洁;Spring MVC的开发效率比Struts2要高。

b)运行效率:Struts2的设计基于类,针对请求做类级拦截器,Spring MVC的设计基于方法,做方法级拦截器;Struts2会注入动作所在类的所有属性,而Spring MVC只注入当前动作的请求数据,所以Spring MVC的运行效率会比Struts2高。选择:突出所有作者和所属行。

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

Hibernate和Mybatis

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

1)冬眠

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

2) Mybatis

Mybatis是一个优秀的半自动数据库持久层ORM框架,它支持常见的SQL查询、存储过程和高级映射

其他操作[8]。Mybatis使用简单的XML或注释进行配置和原始映射,并将接口和Java POJO映射到数据库中的记录。Mybatis的工作流程如图2所示:

图2。Mybatis工作流。

3基于SPRING MVC和MYBATIS的MVC框架实现

实现的基于Spring MVC和Mybatis MVC框架,它使用Spring MVC框架来表达了MVC模式,Mybatis数据库持久性框架,Excel, JSP、PDF、jQuery结合JSTL视图技术,和Logback处理大量的日志在程序运行。

根据MVC的分层思想,在该框架的实现中,控制器层包括核心控制器和业务控制器,视图层主要用JSP和Excel等实现。模型层包括数据访问对象(DAO)层、服务层、Bean层,DAO层使用Mybatis访问数据库。框架结构如图3所示。

模型

视图

Mybatis

数据库

服务调用

控制器

BusinessController

ViewName HandleMapping请求

DispatcherServlet

浏览器

ViewResolver JSP / Excel

响应

图3。框架结构

351

授权许可使用仅限于:南京工业大学。下载于2021年3月20日07:19:00 UTC从IEEE Xplore。限制适用。

答:配置

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

在使用Mybatis访问数据库之前需要配置两种类型的文件。一个是主配置文件,用于配置数据库连接信息和加载实体的映射器配置文件,并为实体定义别名;另一个是实体的映射器配置文件,它定义了fileǃ参数typesǃresult typesǃCRUD操作的名称空间,并为每个操作指定不同的id。

B. Mybatis的工作流程

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

MybatisConnectionFactory。java:构建

SqlSessionFactory实例

Reader Reader =资源。getResourceAsReader(“mybatis-config.xml”);

sqlSessionFactory = new

SqlSessionFactoryBuilder () .build(读者);

扩展b) BaseDAO。在这个类中定义基本的操作方法。插入操作的定义如下:

public void insert(String operation,T o) {

SqlSession 会话sqlSessionFactory.openSession ();尝试{

会话。插入(操作,o);session.commit ();

最后}{

session.close ();

}

=

}

c) UserDAO。java:扩展延伸BaseDAO

@

Public class UserDAO extends baseddao lt;Usergt;{

需要编写或添加方法。}

d) UserServiceImpl。java:在UserDAO中调用方法

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

public void insertuser(用户o) {userDAO.insert('用户o ');插入”,o);}

四、框架性能的比较

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

测试是在相同的环境和相同的任务下完成的:

表我。

CPU

Intel(R) Pentium(R) Dual CPU E2140

内存

2.0克

Web容器

Tomcat6.0

操作系统

Windows7多

数据库

Mysql5.5

请求

查询用户表的600条记录,并通过JSP页面进行显示

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

䖤㸠ᯊ䯈ᇍ↨೒

䖤㸠ᯊ䯈˄PV˅

吗?吗?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?⌟䆩⃵᭄

6 sulqj09amp; ?0 EDWLV 66

0 EDWLV

LEHUQDWH

? ? ?

? ? ?

? ?

? ?

? ?

? ?吗?

图4。

测试结果

352

授权许可使用仅限于:南京工业大学。下载于2021年3月20日07:19

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


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

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

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