本文主要基于Maven项目管理工具来搭建SSM框架,整合SpringMVC+Spring+Mybatis,无需手动导入jar包,方便快速。
未使用Maven,手动导入jar包搭建SSM框架详解:https://blog.csdn.net/qq_40087415/article/details/80478681
未使用过Maven的小伙伴,使用Maven来搭建项目之前可以先参考Maven环境搭建教程把本机的Maven环境及本地仓库配置好。Maven安装及配置教程:https://blog.csdn.net/qq_40087415/article/details/79270832
点击Next,如下图勾选之后Next
点击Finish完成,显示如下项目结构:
我们发现,pom.xml有红色×,不用紧张,我们只需右击项目,选择Java EE Tools ---> Generate Deployment Descriptor Stub,稍等即可看到红色报错消失。
此刻,我们需要更改项目的 jdk 及 web 版本,右击项目,选择最后的属性properties ---> Project Facets
按照上图选择完毕之后,点击Apply and Colse,我们在看项目结构,JDK已经变为1.8版本,到这里,基于Maven的Web项目已经创建好了。
4.0.0
com.ssm
ssm-demo
0.0.1-SNAPSHOT
war
UTF-8
4.3.11.RELEASE
1.8.10
2.9.1
1.2.3
commons-fileupload
commons-fileupload
1.3.3
commons-io
commons-io
2.5
org.apache.commons
commons-lang3
3.6
commons-dbcp
commons-dbcp
1.4
org.springframework
spring-aspects
${spring.framework.version}
org.springframework
spring-context
${spring.framework.version}
org.springframework
spring-jdbc
${spring.framework.version}
org.springframework
spring-webmvc
${spring.framework.version}
org.springframework
spring-context-support
${spring.framework.version}
org.aspectj
aspectjweaver
${aspectj.version}
org.aspectj
aspectjrt
${aspectj.version}
org.mybatis
mybatis
3.4.5
org.mybatis
mybatis-spring
1.3.1
com.alibaba
druid
1.1.3
mysql
mysql-connector-java
5.1.44
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
javax.servlet
javax.servlet-api
3.1.0
javax.servlet
jstl
1.2
ch.qos.logback
logback-classic
${logback.version}
ssm-demo
views/index.jsp
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceRequestEncoding
true
characterEncodingFilter
/*
springMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
springMVC
/
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
applicationContext.xml配置如下:
spring-mvc.xml配置如下:
text/html; charset=UTF-8
application/json;charset=UTF-8
text/html; charset=UTF-8
application/json;charset=UTF-8
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
Hello Maven SSM.
现在为止,SSM已经整合完毕,我们来看一下整体项目结构,如下图:
把项目部属到Tomcat中,运行一下,访问http://localhost:8080/ssm-demo/,默认进入配置的views/index.jsp页面。控制台跑起来不报错,并且能正常访问到index.jsp则表明基于Maven整合的SSM框架已经完成了。
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(10) NOT NULL,
`name` varchar(32) DEFAULT NULL,
`address` varchar(64) DEFAULT NULL,
`money` double DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '张三', '上海', '20000');
INSERT INTO `user` VALUES ('2', '李四', '北京', '18000');
INSERT INTO `user` VALUES ('3', '王二', '广州', '16000');
package com.ssm.entity;
/**
* @Description 用户表
* @author 刘鹏博
* @version v1.0
* @date 2018年9月2日
*/
public class User {
private Integer id;
private String name;
private String address;
private double money;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
package com.ssm.dao;
import java.util.List;
import com.ssm.entity.User;
/**
* @Description DAO
* @author 刘鹏博
* @version v1.0
* @date 2018年9月2日
*/
public interface UserDao {
public List findAllUserInfo();
}
package com.ssm.service;
import java.util.List;
import com.ssm.entity.User;
/**
* @Description 服务接口
* @author 刘鹏博
* @version v1.0
* @date 2018年9月2日
*/
public interface UserService {
public List findAllUserInfo();
}
package com.ssm.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ssm.dao.UserDao;
import com.ssm.entity.User;
import com.ssm.service.UserService;
/**
* @Description 业务处理
* @author 刘鹏博
* @version v1.0
* @date 2018年9月2日
*/
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao; // 注入DAO
@Override
public List findAllUserInfo() {
return userDao.findAllUserInfo();
}
}
package com.ssm.controller;
import java.util.List;
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 com.ssm.entity.User;
import com.ssm.service.UserService;
/**
* @Description 前端请求接口,并返回给前端用户信息JSON格式
* @author 刘鹏博
* @version v1.0
* @date 2018年9月2日
*/
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService; // 注入Service
/**
* @Description 返回用户信息,JSON格式, 加入ResponseBody注解。
* @author 刘鹏博
* @return List
*/
@RequestMapping("/info")
@ResponseBody
public List userInfo() {
List userInfoList = userService.findAllUserInfo();
return userInfoList;
}
}
代码编写完成,部署Tomcat,启动。浏览器请求路径:http://localhost:8080/ssm-demo/user/info,成功返回如下:
这里推荐一个接口测试工具PostMan,下载地址:https://www.getpostman.com/apps
使用PostMan请求接口/user/info(GET请求),成功返回,JSON格式,如下图所示: