基于SSM框架快速搭建maven后台项目
环境准备
1.IntelliJ IDEA
2.Maven
3.MYSQL
4.Tomcat
5.JDk
https://www.oracle.com/java/t...
SSM框架简介
无论你是前端,APP,后端开发工程师,搭建一个自己的后台对于学习都是很有帮助的,本文是作者搭建SSM后端环境的记录,阅读完本文你也可以快速搭建一个属于自己的后端代码。
SSM框架是Spring MVC ,Spring和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为View层,Controller层,Service层,DAO层四层,使用Spring MVC负责请求的转发和视图管理,Spring实现业务对象管理,Mybatis作为数据对象的持久化引擎。
数据库配置
首先我们创建一个数据库和表。
创建数据库的SQL
CREATE DATABASE time_manager_app
创建数据表的SQL
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(8) NOT NULL COMMENT '主键',
`name` varchar(255) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
向数据表中插入一条数据
INSERT INTO `user` VALUES ('1', '1');
创建工程
现在我们打开IDEA创建我们的maven工程
File->New->Project
选择maven,选中红框中的选项,点击Next
红框中的两个选项随便输入,点击Next
红框中选择本地安装的maven软件的位置,点击Next
点击finish
现在我们的maven工程就创建好了
接下来我们要创建一些工程需要的文件夹
右键选择SRC->NEW->Directory
创建好的文件目录如下
右键JAVA将它设置为Source Root
右键resource将它设置为Resources Root
工程创建完毕,接下来我们编写我们需要的配置文件
配置文件编写
首先我们在POM.XML中添加我们需要的依赖包
注意,复制时从备注里的copy开始,复制到copy结束,不要整个文件复制
4.0.0
com.ssmtest
ssmtest
1.0-SNAPSHOT
4.2.4.RELEASE
3.2.8
1.7.12
1.2.17
1.0.9
junit
junit
4.11
test
org.aspectj
aspectjweaver
1.6.8
org.springframework
spring-test
${spring.version}
org.springframework
spring-core
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-expression
${spring.version}
org.springframework
spring-orm
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
mysql
mysql-connector-java
5.1.35
commons-dbcp
commons-dbcp
1.4
jstl
jstl
1.2
log4j
log4j
${log4j.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
com.alibaba
druid
${druid.version}
com.fasterxml.jackson.core
jackson-annotations
2.5.0
com.fasterxml.jackson.core
jackson-core
2.5.0
com.fasterxml.jackson.core
jackson-databind
2.5.0
com.fasterxml.jackson.jr
jackson-jr-all
2.5.0
com.alibaba
fastjson
1.2.46
c3p0
c3p0
0.9.1.2
jar
compile
jackwu
org.apache.maven.plugins
maven-compiler-plugin
3.2
1.8
UTF-8
src\main\resources
**/*.properties
**/*.xml
**/*.tld
false
src\main\java
**/*.java
PS:如果你的网络环境不好,Maven下载依赖包需要一段时间,不要着急,继续接下来的配置就可以了
接下来我们在WEB-INF目录下创建web.xml
web.xml内容如下,整个copy就可以
contextConfigLocation
classpath*:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
characterEncodingFilter
/*
dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
dispatcherServlet
*.do
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
接着我们在resources文件夹下创建applicationContext.xml
同样内容整个复制
接着我们在resource文件夹下创建spring-mvc.xml
同样内容整个复制
text/html;charset=UTF-8
text/plain;charset=UTF-8
application/json;charset=UTF-8
接着我们在resource文件夹下创建db.properties
同样内容整个复制
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/time_manager_app?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
现在我们的工程文件结构是这样的
接下来我们要编写我们的java代码
Java代码编写
首先我们创建几个需要的文件夹
接着我们在相应的文件夹下创建我们的java文件
文件结构如下
每个文件下的代码如下
UserController
package controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import service.UserService;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/find.do")
@ResponseBody
public Object findAll(){
Object a = userService.findAll();
System.out.println(a);
return a;
}
}
UserDao
package dao;
import org.apache.ibatis.annotations.Select;
import pojo.User;
import java.util.List;
public interface UserDao {
@Select("select * from user")
public List findAll();
}
User
package pojo;
public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
UserServiceImpl
package service.impl;
import dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import pojo.User;
import service.UserService;
import java.util.List;
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
public List findAll(){
return userDao.findAll();
}
}
UserService
package service;
import pojo.User;
import java.util.List;
public interface UserService {
public List findAll();
}
到这里代码应该是没有错误的.如果有错误,可能是依赖包没有下载好,等待一下
接下来我们配置tomcat
配置tomcat
点击idea右上角的位置,接着点击edit
按顺序点击红色框的位置
在红框处选择tomcat版本
接着配置我们的war包,点击红色框处
选择第二个
清空application context中的内容,点击apply
NO NO NO配置中间我们出现了一个问题
应该把resource文件夹更名为resources Sorry
正确的工程路径如下
启动程序
接下来我们要启动我们的程序,测试是否配置成功
按顺序点击红框处
等待打包成功,会出现target文件夹,控制台log如下
接着点击绿色箭头,启动程序
测试
打开我们的浏览器,输入http://localhost:8080/user/find.do
Amazing数据库中的一条数据已经成功返回了,到此我们的SSM工程配置成功。
代码仓库位置
如果你觉得配置太麻烦,你也可以在github上下载作者配置好的项目
项目地址https://github.com/jack0-0wu/...
后续还会创作几篇如何快速使用此项目完善后台逻辑,欢迎关注
欢迎关注微信公众号,文章会首发在微信公众号。
可以搜索公众号名 ‘’杰克的程序人生‘’
师者,所以传道授业解惑也,教师节快乐