转载请注明出处
作为在刚进人IT行业的程序员,在进入公司时候首次接触到SSM框架,个人认为在别人搭好的框架下进行项目的开发,大有之前然不知其所以然的感觉,于是决定自己动手搭一个SSM框架,一来便于自己对整合SSM的流程做一个梳理和对SSM流程有一个比较深刻的认识,二来便于日后查阅,再来就是为各位跟我一样的初学者整合SSM提供参考。
首先在整合SSM框架之前,花了几天时间查阅了相关资料,Mybatis,Spring,SpingMVC。
因为之前在整合SSM时候是采用的手动导入所需要的各种JAR包,但是发现这样的做法会导致很容易漏掉很多JAR导致搭建失败,所以这次搭建用的是MAVEN项目依赖的方式,也是首先接触MAVEN,所以各位没有接触过MAVEN的同学不需要很紧张,还是比较简单的,而且十分好用。
Maven构建Web项目骨架
1.下载安装好MAVEN并配置好MAVEN的环境变量之后,在dos窗口下切换到项目文件下后使用命令(mvn archetype:create -DgroupId=com.learn -DartifactId=LearnNew -DarchetypeArtifactId=maven-archetype-webapp)创建web项目骨架 ,其中DroupId可以理解项目的包名 DartifactId可以理解为项目名称,同时这两个参数也是日后如果需要依赖这个项目所需要的坐标。
2.创建好项目web项目骨架之后,在本项目目录下dos窗口执行(mvn eclipse:eclipse) 生成eclipse导入该项目所需要的.classpath和.settings文件。
Eclipse导入项目骨架以及配置SSM整合所需要依赖
1.在eclipse中导入项目,之后可以看到webapp/WEB-INF下的index.jsp报错,这里是因为在pom.xml文件中还未添加servlet所需的依赖
2.注意在导入后 因为maven构建的项目是没有存放java文件的,所以在这里手动创建一个java文件夹(在src/main),创建好的java代码存放在(src/main/java)文件下
3.在pom.xml配置SSM所需要依赖,配置文件如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.draven</groupId>
<artifactId>LearnNew</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>LearnNew Maven Webapp</name>
<url>http://maven.apache.org</url>
<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.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</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>