基于Java平台的数据库桥接层Spring框架可靠性研究
摘 要
在Java编程环境中,无论是在web应用程序还是桌面应用程序中,都可以使用几个框架来简化应用程序的创建。如果我们更关注Java web框架,那么自2004年以来流行的Spring框架,特别是Spring框架的能力,它可以与各种其他框架(如Hibernate框架、Ibatis框架或MyBatis框架)以及其他一些框架相结合。本研究旨在比较使用Java编程语言构建的web服务应用程序与Spring框架的数据加载能力,尤其是与数据库桥接层(如Java数据库连接(JDBC)、Hibernate框架、MyBatis框架、,加上Hibernate和MyBatis中包含的具有as缓存数据层的附加框架功能。性能测试场景在Spring框架中创建一个web服务,然后由使用第三方代码构建的自定义测试脚本访问,并在特定时间段内重复调用它。
关键词: Spring Framework;Hibernate; Ibatis; MyBatis;JDBC;Cache Engine;Web Service. JSON。
- 介 绍
1.1背景
Spring框架是21世纪初开发并开始用于实现使用java平台制作web应用程序的首批框架之一。随着时间的推移,出现了其他提供各种优势的框架,但Spring框架的流行仍然持续,直到2018年才开始使用。这可以从以下信息图中看出,这些信息图说明了java程序员对2004年至2018年间世界上一些最流行的框架的兴趣程度。
从图1中的信息图可以看出,程序员在工作中非常普遍地使用一些框架,包括Spring框架、Hibernate、JSF、Struts和MyBatis,这五个框架是java程序员使用的框架中最流行的。
在图2-a中,2008年至2010年间,印度尼西亚Java程序员的框架出现波动,这表明应用程序工作中使用的框架仍处于试验阶段,但2011年之后,程序员开始表现出一种明显的趋势,即从每种流行的框架中找到舒适感并从中获益。然后在图2-b中可以看到,印度尼西亚的java程序员倾向于在2013年到2018年间使用五种框架。
在基于java的应用程序开发中实现Spring框架的使用时,它通常与其他框架相结合,包括Java数据库连接(JDBC),使用Hibernate商标、Java查询公开与商标Ibatis或MyBatis的连接,以及使用缓存引擎,除了存储在数据库中的数据外,还存储临时数据,以提高应用程序数据访问速度。
1.2. 研究目标
本研究的研究目标是了解表1中列出的每个样本的可靠性值,这些样本将使用省、市、区的数据名称进行一系列测试,将通过在json数据url上以一定的强度加载循环来测试印度尼西亚各地拥有98457行数据和数据加载性能的分区和村庄。
通过一系列测试,当它必须面对使用负载循环的性能测试时,它有望了解每个框架的可靠性。因此,在选择用于基于java的应用程序开发的Spring框架协作时,它有望成为决策的参考来源。
1.3. 研究范围
本研究仅集中于数据加载url,未使用以下技术规范测试插入操作、更新和删除json url:
使用MariaDB版本10.1.19数据库系统单独放置在Microsoft Windows 7操作系统正版64位Oracle VM Virtual Box 5.2.6版中。
使用本地主机和来宾virtualbox之间的网络连接。
在主机环境中使用Microsoft Windows 7正版64位操作系统。
使用Netbean 8.2作为集成开发编辑器。
使用Spring框架4.0.1版作为MVC框架。
使用Spring json taglib作为json输出的库。
使用应用程序容器Apache Tomcat 9.0.12版作为应用程序部署。
使用Java虚拟机1.8.0.162版64位,设置核心JVM核心默认设置,无需调整平台环境。
- 文献方法
2.1研究方法
本研究报告编制过程中使用的方法是使用定量研究方法和原型以及测试框架性能能力的过程,重复强调要素和组件的过程和系统方法,过程顺序如下:
文献研究,研究可作为参考的图书馆资源。图书馆资源可以是讨论Spring框架、Hibernate框架、Ibatis框架和缓存引擎的书籍、论文或网页。
分析,描述如何对每个框架的架构和编程技术进行分析,以及该技术如何结合这些框架。
软件设计,在基于分析结果构建的框架之间进行软件设计。设计必须满足将要执行的测试场景。
软件实施,实施基于设计结果开发的软件。此实现将生成包含待测试样本中指定的框架组合的软件产品。
测试和评估,对已经构建的软件产品进行测试,然后对每个测试场景进行性能评估。
迭代软件设计和实施阶段以及测试和评估,对软件样本进行测试,当业务流程未满足研究人员的意愿时,将对其进行检查,然后对样本软件进行设计和重新实施。
应用程序性能测试,通过url循环加载对应用程序施加压力的能力进行测试,url循环加载针对样本框架重复进行,样本框架使用url循环脚本方法和研究人员构建的java编程脚本构建到应用程序中。
2.2. 进化原型模型
利用本研究实施部分中描述的涉及原型模型演化阶段的过程阶段,该过程如图3所示。原型的演化过程包括输入、原型过程和输出四个主要过程,但过程中也必须受到条件的限制;构建的每个功能必须满足系统要求中规定的适当要求,原型方法过程中涉及的人员的能力满足最低系统要求。
2.3. 样本
通过使用面向对象编程原理以及模型、视图和控制器MVC方法,抽象允许程序员开发复杂的思维,而不必关注详细的组件,而封装允许我们关注软件功能,而不必详细考虑过程的复杂性。
通过将Spring框架、Hibernate框架和MyBatis框架架构组合到一个系统中,重叠每个框架的缺点,可以预期可以执行的测试以及可以发现在组合这些框架时得到优化的测试。
- 研究方法
3.1研究背景
当使用进化原型开发软件时,执行的步骤从分析、设计和实现、测试和评估开始,并在限制条件下重复进行,以产生所需的输出。目的是找到在java平台中生成web服务生成器的最佳框架组合。
3.2式样结构
在已进行的试样测试中,存在已应用的技术方面,即进行的测试涉及几个系统层,数据库层、应用程序容器层、逻辑编程层和测试脚本层。然后,在每一层中都使用了几种配置,以便该层中的每个系统都可以与其他层交互。
然后将每个样本的测试流存储在客户操作系统中安装的虚拟服务器上,然后将Apache Tomcat安装在主机操作系统中,然后使用Netbean IDE版本8.2运行测试脚本,如图5所示。表1中的每个框架样本还需要几个其他库作为研究样本中主要框架的支持,库的详细信息见表3。
如试样列1所示,该列为4.0.1版弹簧框架的试样结合Java数据库连接(JDBC),它需要另一个库,JSP标准标记库(JSTL),该库具有将数据从Java类环境转换到Java web环境的功能,那么MySQL JDBC是一个Java数据库连接(JDBC),专门用于具有MySQL商标的数据库服务器,然后还使用JSON Taglib作为辅助工具,JSON Taglib是一种转换工具,用于将JSTL环境中的数据转换为Javascript对象表示法。
鉴于持久性JPA 2.1是主要的支持工具,用作Spring框架和Hibernate框架之间的桥梁,因此两个框架之间的数据交换是有效的,因此AOP联盟成为持久性JPA 2.1的补充功能,当有几个功能无法通过持久性JPA 2.1实现时,AOP联盟将提供帮助,以满足互操作性需求。Ehcache是一种基于硬件或软件的技术,用作临时数据存储,用于帮助提高应用程序或系统的性能水平。
应用程序开发人员已经非常广泛地使用缓存技术来提高访问应用程序数据视图的速度,每个框架都有自己的体系结构来实现对其管理的数据的缓存,这是非常有趣的下一个研究材料。
3.3. 数据收集
研究人员进行的数据收集是以运行应用程序样本的形式进行的,应用程序样本是根据表1所示的框架组成构建的,并安装在产品名为ApacheTomcat 9.0.12的应用程序容器环境中然后在Netbean 8.2环境中使用测试脚本运行,如图6所示。
- 结果
4.1. 研究成果
在结合数据库桥接框架的Spring框架样本的性能测试过程中,发现MyBatis框架和二级缓存的结合有积极的趋势,但Hibernate框架和二级缓存的结合有消极的趋势。
根据预先确定的测试场景进行的测试发现,当场景一和场景二的命中率高于1000时,包含Spring框架、Hibernate框架和二级Ehcache的三个样本无法执行,然后,对于场景三、四、五和六,同一样本不能运行到500以上。
在上述条件下,作者可以专注于hit 100数据和hit 500数据,目的是平衡所有样本和场景的观测数据结果。在下一讨论中,所显示的数据的表示已转换为如图7至图12所示的线形图。
从图中列出的数据(如上图所示,由线形图表示)中,研究人员将获取主要数据,即每个场景对每个样本的平均加载速度、每个场景对每个样本的最低加载速度、每个场景对每个样本的最高加载速度、每个场景对每个样本的最频繁发生的加载速度,以及每个场景对每个样本的加载速度值中间值。所有数据见表4、表5和表6。
4.2. 讨论结果
根据表4、表5和表6中的数据,将每个样本的数据访问速度与每个场景进行比较,注意:
来自每个测试场景的样本4和样本5的访问速度非常显著,无论是在每个循环访问的平均速度还是在某些循环访问中可以达到的最高速度。
某些测试场景中的样本1和样本2具有足够高的速度,但与每个测试场景中的样本4和样本5相比不够高,而样本1和样本2对于100的所有测试场景都足够高。
每个试验方案的三个试样在所有试验方案中都有低速趋势。
对于最高平均速度,可在五个样本中以1370.45毫秒的速度三次撞击500的场景中看到。
而对于最高访问速度,可以在第五个样本中以954毫秒的速度命中100次的场景中看到。
对于最低平均访问速度,可以在场景中看到,以14573.08毫秒的速度在试样3上五次撞击500。
而对于比较讨论数据6的最低访问速度,场景5以13794毫秒的速度在样本3上点击500。
从表4、表5和表6得出的临时结论中,研究人员可以得出结论,第5个样本在最高速度,第4个样本紧随其后,然
剩余内容已隐藏,支付完成后下载完整资料
英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[596137],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。