SSM三大框架整合详细教程

SSM三大框架整合详细教程(SPRING+SPRINGMVC+MYBATIS)使用 SSM ( Spring 、 SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方 。之前没有记录 SSM 整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些 。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下 。这次,先说说 三大框架整合过程。个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助 。不过,如果用都不会,谈思想就变成纸上谈兵了!!! 先技术,再思想 。实践出真知 。(可通过图片水印查看博客地址)
1、基本概念1.1、SpringSpring 是一个开源框架,Spring 是于 2003 年兴起的一个轻量级的 JAVA 开发框架,由 Rod Johnson 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来 。它是为了解决企业应用开发的复杂性而创建的 。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情 。然而,Spring 的用途不仅限于服务器端的开发 。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益 。简单来说,Spring 是一个轻量级的控制反转( IoC )和面向切面( AOP )的容器框架 。
1.2、SpringMVC 
Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面 。Spring MVC 分离了 控制器 、模型 对象 、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制 。
1.3、MyBatisMyBatis 本是 Apache 的一个开源项目 iBatis , 2010 年这个项目由 apache software foundation 迁移到了 google code,并且改名为 MyBatis。MyBatis 是一个基于 Java 的 持久层 框架 。iBATIS 提供的 持久层 框架包括 SQL Maps 和 Data Access Objects ( DAO ) MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索 。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs ( Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录 。
2、开发环境搭建如果需要,参看之前的博文:
http://blog.csdn.net/zhshulin/article/details/30779873
3、Maven Web项目创建如果需要,参看之前的博文:
http://blog.csdn.net/zhshulin/article/details/37921705
4、SSM整合 
下面主要介绍三大框架的整合,至于环境的搭建以及项目的创建,参看上面的博文 。这次整合我分了 2 个配置文件,分别是 spring-mybatis.xml,包含 spring 和 mybatis 的配置文件,还有个是 spring-mvc 的配置文件,此外有 2 个资源文件 : jdbc.propertis 和 log4j.properties。完整目录结构如下:

SSM三大框架整合详细教程

文章插图
 
使用框架都是较新的版本 :
Spring 4.0.2 RELEASE
Spring MVC 4.0.2 RELEASE
MyBatis 3.2.6
4.1、Maven引入需要的JAR包为了方便后面说的时候不需要引入JAR包,我这里 直接给出所有需要的JAR包,这都是基本的JAR包,每个包的是干什么的都有注释,就不再多说了 。
pom.xml
<properties>
<!-- spring版本号 -->
<spring.version>4.0.2.RELEASE</spring.version>
<!-- mybatis版本号 -->
<mybatis.version>3.2.6</mybatis.version>
<!-- log4j日志文件管理包版本 -->
<slf4j.version>1.7.7</slf4j.version>
<log4j.version>1.2.17</log4j.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<!-- 表示开发的时候引入,发布的时候不会加载此包 -->
<scope>test</scope>
</dependency>
<!-- spring核心包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>


推荐阅读