目前SSM作为后端最流行框架之一,在大学期间能够熟练搭建,并且理解该框架运作的具体流程是很有必要的,虽然网上相似教程数不胜数,不过我也记录一下具体流程操作,温故知新,加深对其框架的理解
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
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对象)映射成数据库中的记录。
(1)File—>>New Project
注:maven-archetype-webapp(一个简单的Java Web应用程序)
(2)填写GroupId,ArtifactId
注:前期测试可以随意填写
(3)配置Maven仓库
注:我这里配置了本地仓库,没有配置本地仓库的,可以默认配置,直接下一步
(4)Finishe,在pom.xml添加依赖
注:spring使用4.0.2版本 mybatis使用3.2.6版本
UTF-8
1.7
1.7
4.0.2.RELEASE
3.2.6
junit
junit
4.11
test
org.springframework
spring-core
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-test
${spring.version}
javax.servlet
javax.servlet-api
3.0.1
provided
javax.servlet.jsp
jsp-api
2.2
provided
javax.servlet
jstl
1.2
taglibs
standard
1.1.2
com.fasterxml.jackson.core
jackson-databind
2.9.4
mysql
mysql-connector-java
5.0.4
com.mchange
c3p0
0.9.5.2
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.3.1
ch.qos.logback
logback-classic
1.1.1
配置web.xml
ssmtest
index.jsp
index.html
dispatcher
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring/spring-*.xml
dispatcher
/
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encodingFilter
/*
(5)创建项目架构
注:
(1)java下是model(实体类),controller(控制层),service(逻辑层), dao(数据库层)
(2)resource资源包下,spring文件夹存放spring类配置文件,mapper文件夹存放实体类Mapper.xml
jdbc.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/ssmtest?useUnicode=true&characterEncoding=utf-8
name=root
password=123456
spring-mvc.xml
注:主要配置自动扫描控制器,视图模式,注解的启动这三个。
spring-batis.xml
mybatis-config.xml
配置Tomcat服务器
(1)
(2)
(3)
(4)
备注:注意是war exploded
最后Debug模式启动测试一下
此次小demo具体架构如下
(1)实体类
User.java
package com.model;
public class User {
private Integer id;
private String name;
private String password;
private String position;
//省略get、set方法
}
(2)service层接口与实现
UserService.java
package com.service;
import com.model.User;
import java.util.List;
public interface UserService {
//添加用户
int addUser(User user);
//删除用户
int delUserById(int id);
//更新用户
int updateUser(User user);
//根据id查询用户
User findById(int id);
//查询所有用户
List findAllUser();
}
UserServiceImpl.java
package com.service.impl;
import com.dao.UserDao;
import com.model.User;
import com.service.UserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Resource
private UserDao userDao;
public int addUser(User user){ return userDao.addUser(user);}
public int delUserById(int id){return userDao.delUserById(id);}
public int updateUser(User user){return userDao.updateUser(user);}
public User findById(int id){return userDao.findById(id);}
public List findAllUser(){return userDao.findAllUser();}
}
(3)dao层实现
UserDao.java
package com.dao;
import com.model.User;
import java.util.List;
public interface UserDao {
int addUser(User user);
int delUserById(int id);
int updateUser(User user);
User findById(int id);
List findAllUser();
}
(4)mapper实现dao层方法
UserMapper.xml
INSERT INTO user(id,name,password,position)
VALUE (#{id},#{name},#{password},#{position})
DELETE FROM USER
WHERE id=#{id}
UPDATE user
SET name= #{name},password= #{password},position= #{position}
WHERE id= #{id}
(5)控制层controller实现
package com.controller;
import com.model.User;
import com.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
import java.util.List;
@Controller
@RequestMapping("/user")
public class UserController {
//创建userService的Bean实例
@Resource
private UserService userService;
//跳转到main主页面
@RequestMapping("/main")
public String tomain(){return "main";}
//跳转到增加用户页面
@RequestMapping("/toAddUser")
public String toAddUser(){return "addUser";}
//查询所有用户
@RequestMapping("/allUser")
public String AllUser(Model model){
Listlist=userService.findAllUser();
model.addAttribute("userList",list);
return "main";
}
//添加新用户
@RequestMapping("/addUser")
public String AddUser(User user){
userService.addUser(user);
return "main";
}
//删除用户
@RequestMapping("/delUser/{delid}")
public String DelUser(@PathVariable("delid") Integer id){
userService.delUserById(id);
return "main";
}
//跳转到更新用户页面
@RequestMapping("/toupdateUser")
public String toUpdateUser(Model model,Integer id){
model.addAttribute("user",userService.findById(id));
return "updateUser";
}
//更新用户
@RequestMapping("/updateUser")
public String UpdateUser(User user){
userService.updateUser(user);
return "main";
}
}
(6)前端jsp页面
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
首页
基于SSM框架的管理系统:简单实现增、删、改、查。
点击进入管理页面
main.jsp主页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<% String appPath = request.getContextPath(); %>
user
addUser.jsp新增用户页面
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java"
pageEncoding="UTF-8" isELIgnored="false"%>
新增用户
基于SSM框架的管理系统:简单实现增、删、改、查。
新增用户
update.jsp更新用户页面
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java"
pageEncoding="UTF-8" isELIgnored="false"%>
修改用户
基于SSM框架的管理系统:简单实现增、删、改、查。
修改用户