


免费预览已结束,剩余6页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于spring mvc和mybatis的轻量级mvc框架研究摘要:基于模型-视图-控制器网络应用程序的开发和运营效率,本文根据目前的业务环境,亟需的项目实践,着重研究了网络应用系统的框架。通过对Spring MVC框架、Mybatis框架以及相关的一些核心技术的研究并结合JSP和JSTL技术,本文实现了基于Spring MVC和Mybatis 轻量级网络应用程序框架的设计。关键词:Spring MVC; Mybatis; MVC; Framework1. 导言近年来,互联网技术快速发展,因现实需要,技术不断改进创新,基于浏览器/服务器(B / S)模式的多层网络架构也逐渐成熟。因为MVC模式克服传统网络应用程序开发方法的缺点,所以目前已广泛使用。MVC框架系统分为模型、视图和控制器三层,各层相对独立,且每层都有一个明确的函数。因这些函数羽状图,MVC促进了模块化发展,极大地提高了效率,系统开发的可维护性和代码的可重用性,同时也适应日益复杂的多层应用程序系统的设计要求1。在Java 2 Enterprise Edition(J2EE),MVC网络框架的发展空前成功。或有开发效率的优势,或有运营效率的优势,或在安全保障占据优势。我们可以结合两个或两个以上的优势来创建一个相对有效、轻量级框架。Spring MVC与控制器,模型对象,调度程序和程序处理对象彼此分离,使其更容易定制2。此外,Mybatis数据库的持久层框架,封装Java数据库连接(JDBC)3以及操纵数据库流程简化,与Hibernate相比,其自由度和数据库的访问效率也已得到提高。将Spring MVC和Mybatis这两种技术有机地结合,构建一个轻量级的MVC开发框架,不仅可以有效地提高系统开发的效率,简化发展的复杂性,也改善了系统的安全性,稳定性和鲁棒性。本文分以下部分:第一部分:综述及比较Struts2和Spring MVC,第二部分:介绍Hibernate和Mybatis,第三部分:基于Spring MVC和Mybatis系统执行方案,第四部分描述了不同框架间的比较,第五部分:结论。2. 相关工作AMVC框架因为MVC能理想地分离业务逻辑和观点,所以它已成为程序设计的发展趋势。人们不断深研MVC,MVC框架持续发展。目前,比较成熟和稳定的Struts MVC框架主要包括Struts、Struts2、Webwork、Spring MVC等。以下介绍Struts2和Spring MVC。 (1) Struts2Struts2是一个在Struts1和Webwork 合并的基础上形成的新的网络层应用程序框架4。Struts2以WebWork 为核心,主要是使用Java服务器页面(JSP)和Servlet技术,将Servlet,JSP自定义标记和信息资源整合成一个统一的框架。开发人员只需要开发相应的Action类,ActionFormBean和JSP组件,开发Struts框架应用项目。 (2) Spring MVCSpring是一个轻量级容器框架,有控制反转(IoC)和面向方面编程(AOP)5的性能以及七个定义良好的模块。七个模块中的Spring MVC,是一个全功能的轻量级程序可以实现MVC对Web应用构建。Spring MVC完美实现MVC的核心概念和特点,通过简单配置就能动态配置组件。Spring MVC是这样运作的:当客户端发送一个HTTP请求时,核心控制器(DispatcherServlet)接收请求,根据URL请求调度搜索HandleMapping并找到到适当的控制器。控制器调用适当的业务逻辑来处理请求,当处理过程完成后,返回视图名称和ModelAndView对象DispatcherServlet,最后由ViewResolver返回ModelAndView并呈现相应的视图。图1显示了Spring MVC的请求处理管道。图1. Spring MVC的请求处理管道 (3) Struts2和Spring MVC的比较a) 运行效率:Struts2的文件配置数量大于Spring MVC;不过Spring MVC在使用过程中更简洁且开发效率比Struts2高。b) 运行效率:Struts2的设计是基于类的请求,为类级拦截器,而Spring MVC的设计基于方法,为方法级拦截器;Struts2导入所有的类行为属性,Spring MVC只导入动作电流的请求数据。因此,Spring MVC运营效率将高于Struts2。选择强调所有开始和所属线路。c) Spring MVC实现了业务逻辑和观点的完全分离。业务逻辑处理后,它会返回一个字符串,与视图层的显示技术没有任何关联的标志,然后通过显示技术显示相应ViewResolver配置的字符串数据。B. Hibernate and MybatisMybatis 和Hibernate均为数据库持久层框架,有不同程度的JDBC的封装、与直接使用JDBC访问数据库相比,前两者开发效率大幅提高。 1) HibernateHibernate是一个以JDBC封装的对象关系映射框架67。在开发业务逻辑时,程序员可以采用面向对象的编程,而不采用面向数据库编程,这样更明确的分工,能提高项目开发的效率。然而,学习Hibernate并不容易,而要精通绝非易事。它需要更丰富的经验和强大的功能为用户设计O / R映射,并达到性能和对象模型的平衡。 2) MybatisMybatis是一个很好的半自动数据库持久层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显示了框架结构。图3.结构框架A、结构Spring MVC需要下面的配置9:(1)在配置描述文件中配置核心控制器;(2)在Spring MVC配置文件中配置ViewResolver;(3)由于注解的使用,需要启动组件扫描和激活Spring MVC配置文件中的注释扫描函数;(4)在业务控制器进行HandleMapping配置。前两种类型的文件配置前需要Mybatis访问数据库。一个是主要的配置文件,配置数据库连接信息,加载实体的映射配置文件,以及定义实体的别名;另一个是实体映射配置文件,定义这个文件的名称空间参数类型结果类型CRUD操作,以及为每个操作指定一个不同的识别号。B、MyBatis的工作流程完成上述两种类型配置的文件后,可以用它们对数据库进行CRUD操作。以 “插入用户记录”为例,工作流程如下:a)MybatisConnectionFactory.java: 建立SqlSessionFactory 实例Reader reader = Resources.getResourceAsReader(mybatis-config.xml);sqlSessionFactory=newSqlSessionFactoryBuilder().build(reader);b) BaseDAO.java: methodin这个类定义的基本操作。一个插入操作定义如下:public void insert(String operation,T o) SqlSession session =sqlSessionFactory.openSession();try session.insert(operation, o);mit(); finally session.close();c) UserDAO.java: 继承BaseDAORepositoryPublic class UserDAO extendsBaseDAOMethods needed to be written or added.d) UserServiceImpl.java: Call Method in UserDAO在UserServiceImpl 中插入一个实现类用户记录到数据库中。public void insertuser(User o) userDAO.insert(User.insert, o);4. COMAPRSIONS框架的性能一个框架的性能如何可以从开发效率,操作效率、系统安全性、可维护性等判断。框架的一部分性能分析在本篇文章中已做阐述,基于Spring MVC、经典框架SSH10以及Hibernate和Mybatis的MVC框架运营效率将得到进一步的测试和分析。表1. 在相同的环境和测试完成相同的任务使用不同的框架发出60次相同的请求执行来衡量每个请求过滤的处理时间。Hibernate和Mybatis访问数据库的执行时间记录在DAO层。测试结果如表2所示:图4.测试结果表2.平均运行时间的要求据上图图表显示,明显地,基于Spring MVC和Mybatis的MVC框架的操作效率要远远高于SSH,达到近58.76%。Mybatis操作效率高于Hibernate14.06%。研究证明,基于Spring MVC和Mybatis的框架是一个相对轻量级的MVC框架。 75. 结论本文实现了基于Spring MVC和Mybatis 轻量级MVC框架的设计。通过使用Spring注释,配置文件的数量和复杂性降低。Spring MVC方法可拦截请求,只有导入请求数据的方法,才有助于提高操作效率。此外,Spring MVC能完全分离业务逻辑和视图层。以Mybatis作为持久层框架提高了访问数据库的发展速度和效率,为改善系统安全性、性能和可维护性带来更多的空间。6. 致谢这项工作是支持的国家基础研究程序(2006039),技术开发和合作(20120465)。参考文献1 L. GuangChun, W. Lu, and X. Hanhong, “A novel web application frame developed by MVC,” ACM SIGSOFT Software Engineering Notes, vol. 28, no. 2, p. 7, 2003.2 J. LIU and J. DAI, “Research of lightweight Web application based on Spring MVC and iBATIS frameworks J,” Journal of Computer Applications, vol. 4, p. 26, 2006.3 M. Fisher, J. Ellis, and J. Bruce, JDBC API tutorial and reference. Addison-Wesley Professional, 2003.4 D. Brown, C. M. Davis, and S. Stanlick, Struts 2 in action. Dreamtech Press, 2008.5 R. Johnson, J. Hoeller, A. Arendsen, C. Sampaleanu, R. Harrop, T. Risberg, D. Davison, D. Kopylenko, M. Pollack, T. Templier, and others, “The spring framework-reference documentation,” Interface21.(accessed 30.04. 07), 2008.6 B. LIU and Z. WANG, “Application of Office Automation Based on SSH Framework J,” Computer Technology and Development, vol. 1, p. 39, 2010.7 R. Johnson, “J2EE development frameworks,” Computer, vol. 38, no. 1, pp. 107110, 2005.8 C. Ho, “Using MyBatis in Spring,” in Pro Spring 3, Springer, 2012, pp. 397435.9 J. Jamae,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电梯收购合同与收购协议
- 湿地鱼池承包协议书模板
- 股东实物作价入股协议书
- 股东利润分成协议书模板
- 灯箱合作合同协议书模板
- 私人暖气模板合同协议书
- 村集体大楼租赁合同范本
- 项目签合同前的居间协议
- 长沙离婚协议补充协议书
- 碧桂园转让酒店合同范本
- 《医疗机构药学服务课件》
- 生态修复中的环境保护监理措施
- 宁夏固原公开招聘农村党务(村务)工作者笔试题含答案2024年
- 2025年广州市劳动合同样本(标准版)
- 企业财务人员防诈课件
- 抗凝剂皮下注射技术临床实践指南(2024版)解读 2
- 开封市事业单位联考招聘笔试真题2024
- TCECS24-2020钢结构防火涂料应用技术规程
- 危大工程安全监理实施细则
- 球节点钢网架施工方案
- 苏教牛津译林版小学英语六年级上册单词背诵默写本
评论
0/150
提交评论