安博大成教育科技有限公司1SSM三大框架的整合(Spring+SpringMVC+MyBatis)前记:曹孟,崔佳媚和我在11月23日参加了一次关于SSM的比赛,因此对SSM有点理解,所以在网上搜集了一些关于SSM框架的资料整理出来。目录SSM三大框架的整合(Spring+SpringMVC+MyBatis)............11、基本概念...........................................21.1、Spring........................................21.2、SpringMVC.....................................21.3、MyBatis.......................................22、整合步骤...........................................32.1、Maven引入需要的JAR包.........................32.2、Spring与MyBatis的整合........................92.3、整合SpringMVC................................20补充一...............................................30配置实例演示.........................................39安博大成教育科技有限公司21、基本概念1.1、SpringSpring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。1.2、SpringMVCSpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。1.3、MyBatisMyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQLMaps和DataAccessObjects(DAO)MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。2、开发环境搭建如果需要,参看之前的博文:、MavenWeb项目创建安博大成教育科技有限公司3如果需要,参看之前的博文:、SSM整合下面主要介绍三大框架的整合,至于环境的搭建以及项目的创建,参看上面的博文。这次整合我分了2个配置文件,分别是spring-mybatis.xml,包含spring和mybatis的配置文件,还有个是spring-mvc的配置文件,此外有2个资源文件:jdbc.propertis和log4j.properties。完整目录结构如下:使用框架都是较新的版本:Spring4.0.2RELEASESpringMVC4.0.2RELEASEMyBatis3.2.62、整合步骤2.1、Maven引入需要的JAR包安博大成教育科技有限公司4为了方便后面说的时候不需要引入JAR包,我这里直接给出所有需要的JAR包,这都是基本的JAR包,每个包的是干什么的都有注释,就不再多说了。pom.xmlproperties!--spring版本号--spring.version4.0.2.RELEASE/spring.version!--mybatis版本号--mybatis.version3.2.6/mybatis.version!--log4j日志文件管理包版本--slf4j.version1.7.7/slf4j.versionlog4j.version1.2.17/log4j.version/propertiesdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/version!--表示开发的时候引入,发布的时候不会加载此包--scopetest/scope/dependency!--spring核心包--dependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion${spring.version}/version/dependency安博大成教育科技有限公司5dependencygroupIdorg.springframework/groupIdartifactIdspring-web/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-oxm/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-tx/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-aop/artifactId安博大成教育科技有限公司6version${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context-support/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-test/artifactIdversion${spring.version}/version/dependency!--mybatis核心包--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion${mybatis.version}/version/dependency!--mybatis/spring包--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion1.2.2/version/dependency!--导入javaeejar包--dependencygroupIdjavax/groupId安博大成教育科技有限公司7artifactIdjavaee-api/artifactIdversion7.0/version/dependency!--导入Mysql数据库链接jar包--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.30/version/dependency!--导入dbcp的jar包,用来在applicationContext.xml中配置数据库--dependencygroupIdcommons-dbcp/groupIdartifactIdcommons-dbcp/artifactIdversion1.2.2/version/dependency!--JSTL标签类--dependencygroupIdjstl/groupIdartifactIdjstl/artifactIdversion1.2/version/dependency!--日志文件管理包--!--logstart--dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion${log4j.version}/version/dependency安博大成教育科技有限公司8!--格式化对象,方便输出日志--dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.1.41/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-log4j12/artifactIdversion${slf4j.version}/version/dependency!--logend--!--映入JSON--dependencygroupIdorg.codeha