[置顶]SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)分类:J2EE2014-07-1912:4912858人阅读评论(54)收藏举报springspringmvcmybatis整合教程ssm整合目录(?)[+]使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。这次,先说说三大框架整合过程。个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。不过,如果用都不会,谈思想就变成纸上谈兵了!!!先技术,再思想。实践出真知。(可通过图片水印查看博客地址)1、基本概念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项目创建如果需要,参看之前的博文:、SSM整合下面主要介绍三大框架的整合,至于环境的搭建以及项目的创建,参看上面的博文。这次整合我分了2个配置文件,分别是spring-mybatis.xml,包含spring和mybatis的配置文件,还有个是spring-mvc的配置文件,此外有2个资源文件:jdbc.propertis和log4j.properties。完整目录结构如下(最后附上源码下载地址,不建议直接使用源码,因为此教程已经有了全部代码):使用框架都是较新的版本:Spring4.0.2RELEASESpringMVC4.0.2RELEASEMyBatis3.2.64.1、Maven引入需要的JAR包为了方便后面说的时候不需要引入JAR包,我这里直接给出所有需要的JAR包,这都是基本的JAR包,每个包的是干什么的都有注释,就不再多说了。pom.xml[html]viewplaincopyprint?1.properties2.!--spring版本号--3.spring.version4.0.2.RELEASE/spring.version4.!--mybatis版本号--5.mybatis.version3.2.6/mybatis.version6.!--log4j日志文件管理包版本--7.slf4j.version1.7.7/slf4j.version8.log4j.version1.2.17/log4j.version9./properties10.11.dependencies12.dependency13.groupIdjunit/groupId14.artifactIdjunit/artifactId15.version4.11/version16.!--表示开发的时候引入,发布的时候不会加载此包--17.scopetest/scope18./dependency19.!--spring核心包--20.dependency21.groupIdorg.springframework/groupId22.artifactIdspring-core/artifactId23.version${spring.version}/version24./dependency25.26.dependency27.groupIdorg.springframework/groupId28.artifactIdspring-web/artifactId29.version${spring.version}/version30./dependency31.dependency32.groupIdorg.springframework/groupId33.artifactIdspring-oxm/artifactId34.version${spring.version}/version35./dependency36.dependency37.groupIdorg.springframework/groupId38.artifactIdspring-tx/artifactId39.version${spring.version}/version40./dependency41.42.dependency43.groupIdorg.springframework/groupId44.artifactIdspring-jdbc/artifactId45.version${spring.version}/version46./dependency47.48.dependency49.groupIdorg.springframework/groupId50.artifactIdspring-webmvc/artifactId51.version${spring.version}/version52./dependency53.dependency54.groupIdorg.springframework/groupId55.artifactIdspring-aop/artifactId56.version${spring.version}/version57./dependency58.59.dependency60.groupIdorg.springframework/groupId61.artifactIdspring-context-support/artifactId62.version${spring.version}/version63./dependency64.65.dependency66.groupIdorg.springframework/groupId67.artifactIdspring-test/artifactId68.version${spring.version}/version69./dependency70.!--mybatis核心包--71.dependency72.groupIdorg.mybatis/groupId73.artifactIdmybatis/artifactId74.version${mybatis.version}/version75./dependency76.!--mybatis/spring包--77.dependency78.groupIdorg.mybatis/groupId79.artifactIdmybatis-spring/artifactId80.version1.2.2/version81./dependency82.!--导入javaeejar包--83.dependency84.groupIdjavax/groupId85.artifactIdjavaee-api/artifactId86.version7.0/version87./dependency88.!--导入Mysql数据库链接jar包--89.dependency90.groupIdmysql/groupId91.artifactIdmysql-connector-java/artifactId92.version5.1.30/version93./dependency94.!--导入dbcp的jar包,用来在applicationContext.xml中配置数据库--95.dependency96.groupIdcommons-dbcp/groupId97.artifactIdcommons-dbcp/artifactId98.version1.2.2/version99./dependency100.!--JSTL标签类--101.dependency102.groupIdjstl/groupId103.artifactIdjstl/artifactId104.version1.2/version105./dependency106.!--日志文件管理包--107.!--logstart--108.dependency109.groupIdlog4j/groupId110.artifactIdlog4j/artifactId111.version${log4j.version}/version112./dependency113.114.115.!--格式化对象,方便输出日志--116.dependency117.groupIdcom.alibaba/groupId118.artifactIdfastjson/artifactId119.version1.1.41/version120./dependency121.122.123.dependency124.groupIdorg.slf4j/groupId125.artifactIdslf4j-api/artifactId126.version${slf4j.version}/version127./dependency128.129.dependency130.groupIdorg.slf4j/groupId131.artifactIds