Web应用开发中Spring SpringMVC MyBatis框架的设计与实现
摘 要
在Web应用的开发与设计当中,选择合适的开发框架是非常重要的。选择一个优秀的开发框架,它不仅能提升Web应用程序的开发速度,而且能减少项目团队的开发成本以及开发者的工作量。与此同时,合适的开发框架能够令Web应用程序具备良好的扩展性和可移植性。基于SpringMVC Spring MyBatis(SSM)的开发框架,无论在性能上还是提升开发效率上都很出色,所以这套框架逐渐在Web应用开发领域中成为主流框架。
关键词:Web应用,Spring,SpringMVC,MyBatis
(一)Spring、SpringMVC、MyBatis的介绍
1.Spring
Spring是一个开放源代码的框架,并且Spring是一个2003年诞生的轻量级Java开发框架。它诞生的目的是为了让企业应用开发变得更加简单。框架的主要优点之一是它的分层结构,它能够允许用户选择自己想要使用的组件,同时为J2EE的应用程序开发提供了集成框架,Spring用基本的JavaBeans来完成以前只有企业级JavaBean能做到的事情。但是,Spring的使用并不是被限制在服务端开发。基于Spring的轻便性、可测试性和低耦合性,Java应用程序都可以从中收益。Spring的两大核心是控制反转(IOC)和面向切面编程(AOP),用一句简单的话来概括,Spring是一个分层的JavaSE/EEfull-stack(一站式)的轻量级开源框架。
2.SpringMVC
SpringMVC属于基于Spring框架的产品,并且已经被整合到Spring Web流中。Spring框架中提供了一个全功能的MVC组件来构建Web应用程序。SpringMVC通过减少控制器、调度器、模型对象和处理对象的角色之间的相互干扰,这使它们更加容易被定制。
SpringMVC是基于Spring的一个强大而又灵活的Web框架。SpringMVC可以让控制器的开发与测试变得更加容易,因为它可以通过注解提供了几乎是基于POJO的开发模式。这种控制器一般不会直接处理这些请求,反而是将请求分发给在Spring上下文里的其他bean,这些bean通过Spring的依赖注入特性注入到控制器中。前端控制器,处理器映射器,处理器(控制器),视图解析器和视图是SpringMVC的主要组成部分。它的两个核心分别是:
处理器映射器:由它来选择用哪个控制器去处理请求
视图解析器:由它来选择渲染什么结果
通过以上两点,SpringMVC保证了如何选择,控制和处理请求,如何选择视图来显示产出之间的松耦合性。
3.MyBatis
MyBatis是apache的一个开放源代码项目iBatis,这个项目在2010年从apache软件基金移交到了谷歌代码,同时改名为MyBatis。MyBatis是一个支持通用SQL查询,存储过程和高级映射的优秀的持久化层框架。MyBatis除去了几乎所有JDBC代码,手动设置参数和取回结果集。MyBatis使用简单的XML或注解进行配置和原始映射,去将接口和Java的POJO(简单的Java对象,普通的Java对象)写入数据库的记录进行映射。每一个MyBatis应用程序大多是和一个SqlSessionFactory实例一起使用,并且SqlSessionFactoryBuilder可以创建出SqlSessionFactory实例。而xml配置文件或者预定义的配置实例可以提供SqlSessionFactoryBuilder。用xml文件创建一个SqlSessionFactory实例是一件非常容易的事情。这种配置推荐使用类路径资源,但是你可以使用任何Readr实例,包括以file://开头的文件路径或者url创建的实例。MyBatis有一个实用类——Resources,这个类拥有许多可以轻松从类路径和其他地方加载资源的方法。
(二)SSM框架的集成
1.SSM框架
三个开源项目Spring,SpringMVC,MyBatis组成了SSM框架,该框架常被用作数据源比较简单的Web项目。
2.SSM各层之间的关系
SpringMVC负责控制层,Spring负责业务逻辑层,MyBatis则被用作负责dao层。在MVC架构中,m代表的是模型,包括了业务逻辑,dao和javabean(pojo),v代表的是视图
持久化层的DAO层(mapper)是通过MyBatis调用的。DAO层主要是做数据持久化层的工作,这里封装了一些负责连接数据库的任务,DAO层的设计首先是要设计DAO接口,然后在Spring的配置文件里定义这个接口的实现类,然后可以在模块中调用这个接口来处理数据业务,并且不用关心接口的具体实现类是哪个类,结构清晰一目了然,DAO层的数据源配置以及连接数据库的相关参数都在Spring文件中进行配置。
Service层是业务层:Service层主要设计业务模块的逻辑应用程序,首先,设计接口,然后设计它的实现类,接着,在Spring的配置文件中配置实现类关联。通过这种办法,我们能在应用中调用Service接口进行业务处理。业务实现在Service层,尤其是需要调用在DAO层定义的接口,封装Service层业务逻辑有利于让通用业务逻辑具有良好的独立性和复用性,让流程看起来十分简单。
Controller层(Handler层):Controller层主要负责具体业务流程模块的控制,在这一层,需要通过调用Service层的接口来控制业务流程,会有不同的控制器在我们已经明确的设计流程里,流程可以被抽象或是概括,来设计可复用的子单元流程模块,这样不仅使程序结构更加清晰,而且大幅度减少了代码的数量。
视图层:这一层与控制层紧紧地联系在一起,并且要求两者结合起来一起工作,视图层主要负责前台JSP页面的呈现。
各个层级之间的关系如下:
DAO层和Service层可以被独立的开发,他们相互之间的耦合度很低,能够被独立执行,这样的模式在大型项目的开发中非常有优势。
由于耦合度比较高的原因,控制层和视图层要一起开发,但是它们也可以视作是独立于前两层的一个整体去开发。通过这种方式,我们只需要在层和层之前知道接口的定义,并且只需要调用接口,然后就可以非常简单和清晰地完成必要的逻辑单元应用。
DAO层的设计需要在Service层之前,在创建完DAO层以后,就可以创建Service层了,Service层在Controller层之下,所以Service层不仅需要调用DAO层的接口,还需要提供给Controller层相应的类调用接口,它刚好在中间的位置。每个模型都有一个Service接口,每个接口都封装了各自的业务处理方法。
3.SSM框架的设计与实现
SSM框架在Web应用程序开发的设计与实现,设计如下:
在Web系统的开发中,第一步是去配置web.xml,springmvc-servlet.xml这些文件的环境。
Web.xml文件的配置代码如下:
lt;? xml version='1.0' encoding='UTF-8'?gt;
lt;web-app version='3.0'
xmlns='http://java.sun.com/xml/ns/javaee' xmlns:xsi='http://www.w3.org/2001/XMLSchema-ins
tance'
xsi:schemaLocation='http://java.sun.com/xml/ns/javae
e
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd'gt;
lt;display-namegt;lt;/display-namegt;
lt;welcome-file-listgt;
lt;welcome-filegt;index.jsplt;/welcome-filegt;
lt;/welcome-file-listgt;
lt;servletgt;
lt;servlet-namegt;springmvclt;/servlet-namegt;
lt;servlet-classgt;org.springframework.web.servlet.Dispatc herServletlt;/servlet-classgt;
lt;/servletgt;
lt;servlet-mappinggt;
lt;servlet-namegt;springmvclt;/servlet-namegt;
lt;url-patterngt;*.dolt;/url-patterngt;
lt;/servlet-mappinggt;
lt;/web-appgt;
Springmvc-servlet.xml的文件配置如下:
lt;mvc:annotation-driven/gt;
lt;context:component-scan
base-package='com.ahead.controler'/gt;
lt;bean class='org.springframework.web.servlet.view.Inte rnalResourceViewResolver'gt;
lt;property name='prefix' value='/'gt;lt;/propertygt;
lt;property name='suffix' value=''gt;lt;/propertygt;
lt;/beangt;
在Web系统的开发中,要设计实体类,来定义对象的属性,属性有get和set方法(可以参考数据库中表的字段来设置它,应该在敲代码开始之前设计好数据库),要创建构造方法。
在SRC目录下,创建名为mysql.properties的数据库配置文件,该文件有四个属性,分别为jdbc.driver,jdbc.url,jdbc.username,jdbc.pas
剩余内容已隐藏,支付完成后下载完整资料
英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[596133],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。