使用 SSM ( Spring 、 SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就能够实现想要的功能,固然确定有不少能够改进的地方。以前没有记录 SSM 整合的过程, 此次刚恰好基于本身的一个小项目从新搭建了一次,并且比项目搭建的要更好一些。之前解决问题的过程和方法并无及时记录,之后在本身的小项目中遇到我再整理分享一下。 此次 , 先说说 三大框架整合过程 。我的认为使用框架并非很难,关键要理解其思想,这对于咱们提升编程水平颇有帮助。不过,若是用都不会,谈思想就变成纸上谈兵了!!! 先技术,再思想。实践出真知。 (可经过图片水印查看博客地址)php
Spring 是一个开源框架, Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著做 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而建立的。 Spring 使用基本的 JavaBean 来完成之前只可能由 EJB 完成的事情。然而, Spring 的用途不只限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用均可以从 Spring 中受益。 简单来讲, Spring 是一个轻量级的控制反转( IoC )和面向切面( AOP )的容器框架。html
Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。 Spring MVC 分离了 控制器 、模型 对象 、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。java
MyBatis 本是 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对象)映射成数据库中的记录。mysql
若是须要,参看以前的博文: http://blog.csdn.net/zhshulin/article/details/30779873程序员
若是须要,参看以前的博文: http://blog.csdn.net/zhshulin/article/details/37921705web
下面主要介绍三大框架的整合,至于环境的搭建以及项目的建立,参看上面的博文。此次整合我分了 2 个配置文件 ,分别是 spring-mybatis.xml ,包含 spring 和 mybatis 的配置文件,还有个是 spring-mvc 的配置文件,此外有 2 个资源文件 : jdbc.propertis 和 log4j.properties 。完整目录结构以下:spring
使用框架都是较新的版本 :sql
Spring 4.0.2 RELEASE数据库
Spring MVC 4.0.2 RELEASEapache
MyBatis 3.2.6
为了方便后面说的时候不须要引入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> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!-- mybatis核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- mybatis/spring包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <!-- 导入java ee jar 包 --> <dependency>