目录
- 前言
- 软件环境
- 创建项目
- 数据库文件
- 配置文件pom.xmllog4j.propertiesjdbc.propertiesapplicationContext.xmlspring-mvc.xmlweb.xml
- 运行项目
- 编写代码
前言
前阵子突发奇想,想学习下SpringMVC的源码,于是打算用idea搭建一个简易的maven版SSM案例,也就是SpringMVC+Spring+MyBatis+Maven,因为之前创建过一些Spring的小demo,相关的软件环境已经搭建完成,本以为搭建一个入门级的SSM项目应该不难,谁曾想这个过程中遇到了不少千奇百怪的问题,从开始创建到成功运行花了我整整一个下午的时间(我的午觉啊~~~·),最后项目成功跑起来的时候我长出了一口气,为了以后不在类似的事情上折腾,特此写下这篇文章记录一下搭建过程。
软件环境
先准备好搭建项目的基本环境
Intellij IDEA:2018.1.1
JDK:1.8
Maven:3.6.0
Tomcat:7.0及以上
下载安装好软件后,在idea软件设置里做好JDK、Maven和Tomcat的相关环境配置,这方面网上的资料很多,本文就不介绍了。
创建项目
搭建好环境后,打开idea,点击New - Project
找到Maven一栏,因为要搭建的SpringMvc项目,所以选择webapp模板
填写好GroupId和ArtifactId后,一步步next,最后finish完成
创建成功后,可以看到项目是这样的目录结构
除了配置相关依赖的pom.xml,目录中还有一个文件夹src,src的main目录提供了一个webapp文件夹,webapp文件夹下有一个WEB-INF文件夹,放置的是前端页面的文件,以及web.xml文件。
除了模版提供的目录结构,为了后面项目能成功运行,我们还需要添加一些文件夹,让项目的目录结构变成这样:
数据库文件
首先,先准备好数据库文件,并初始化一条记录
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`email` varchar(255) NOT NULL COMMENT '用户邮箱',
`username` varchar(255) NOT NULL COMMENT '用户昵称',
`role` varchar(255) NOT NULL COMMENT '用户身份',
`mobile` varchar(50) DEFAULT '' COMMENT '手机号码',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf-8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '[email protected]', 'xjt', 'root', '15678635432');
配置文件
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.xjt</groupId>
<artifactId>mvcDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>mvcDemo Maven Webapp</name>
<!-- 用来设置版本号 -->
<properties>
<srping.version>4.0.2.RELEASE</srping.version>
<mybatis.version>3.2.8</mybatis.version>
<slf4j.version>1.7.12</slf4j.version>
<log4j.version>1.2.17</log4j.version>
<druid.version>1.0.9</druid.version>
</properties>
<!-- 用到的jar包 -->
<dependencies>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<!-- 表示开发的时候引入,发布的时候不会加载此包 -->
<scope>test</scope>
</dependency>
<!-- spring框架包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${srping.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${srping.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifact