SSM整合

学习了那么久,终于把Spring、SpringMVC、Mybatis这些框架给看完了。很不错,学习到了很多的知识,以前不懂的东西也慢慢的明白了。今天学习一下如何整合这三个框架。SSM整合学习的是狂神的。下面有很多是和狂神的一样的,这一篇只是我自己的学习记录。
<一>SSM是什么意思
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地new一个对象,而是让Spring框架帮你来完成这一切。
SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
<二>环境要求
开发环境:
IDEA 2020.1.3
JDK 1.8
MySQL 8.0.21
Tomcat 9.0.14
Maven 3.6.3
要求:
需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识;
<三>搭建基本环境
数据库环境:
创建一个存放书籍数据的数据库表
1 | CREATE DATABASE `ssmbuild`; |
基本环境搭建:
1.创建一个带有webapp骨架的Maven项目,名字随意

2.在pom.xml导入相关依赖:
1 | <dependencies> |
3.Maven资源过滤设置
1 | <build> |
4.创建基本包结构:
在src/main/java下建立包结构:
- com.liu.dao:Dao层实现
- com.liu.pojo:实体类:使用lombok
- com.liu.service:业务层的实现
- com.liu.controller:web层的实现
5.创建Spring以及mybatis的核心配置文件
- Spring的核心配置文件appliactionContext.xml文件
1 |
|
- mybatis的核心配置文件mybatis-config.xml
1 |
|
6.首先实现Dao层
<1>首先根据数据库创建一个实体类
在这里交给大家一个小技巧,IDEA是可以连接数据库的。我们可以用IDEA来连接Mysql,连接之后我们就可以不用在IDEA和mysql可视化工具之间来回切换,不必再缩小IDEA。(方法在IDEA的使用文章里写的有)

使用Lombok创建Books实体:
1 | package com.liu.pojo; |
<2>编写Dao层的BookDao接口
1 | package com.liu.dao; |
<3>创建BookMapper.xml文件
1 |
|
<4>在mybatis核心配置文件中配置映射文件
在核心配置文件中配置日志信息,这里不需要配置数据源信息,数据源信息交给Spring去创建。为实体类起一个别名,以及加载映射文件。
1 |
|
7.实现service层
<1>创建BookService接口来调用dao层代码
1 | package com.liu.service; |
<2>创建BookServiceImpl来实现这些方法
实现这些方法无非就是让service层去调用dao层方法
1 | package com.liu.service.Impl; |
8.接下来我们用Spring来整合
<1>编写spring-dao.xml配置文件
这里说明一下:为什么我不在spring的核心配置文件中直接配置,而是要重新建一个spring-dao.xml来配置呢?
这不是显示了解藕合思想吗?
我们把dao层的配置、service层的配置、controller层的配置都给分开。
一:显示配置不会太乱
二:当出现错误的时候容易排除
好,接下来我们看看我们在这个spring-dao.xml需要配置什么呢?
首先创建一个jdbc.properties文件
1 | =com.mysql.cj.jdbc.Driver |
创建一个spring-dao.xml文件
1 |
|
<2>编写spring-service.xml配置文件
1 |
|
<3>SpringMVC
首先在web.xml配置
1 |
|
创建一个spring-mvc.xml配置文件
1 |
|
9.Spring配置整合文件,applicationContext.xml
1 |
|
<四>编写业务实现
<1>实现查询所有书籍
1.在Controller层编写代码
1 |
|
2.编写allBook页面
1 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
3.index.jsp页面太丑了,换个
1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> |
4.配置一下tomcat,试一下能不能跑起来。
<2>实现添加功能
1.首先在controller层
1 | //跳转到增加页面 |
2.编写addBook.jsp页面
1 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
3.更改allBook.jsp
1 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
4.重新发布tomcat测试
<3>实现更改功能
1.在controller层
1 | //跳转到修改页面 |
2.创建一个updateBook.jsp
1 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
3.更改allBook.jsp
1 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
4.重新发布tomcat,测试运行
<4>实现删除功能
1.在controller层
1 |
|
2.更改一下allBook.jsp
1 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
<五>总结
Spring+SpringMVC+mybatis这三个框架的学习还没结束。有些东西已经开始忘记了,要尝尝的复习,多看看书,理解理解源码。只有理解了源码,不管以后,它如何去变,底层的原理是一成不变的。
今天总结的可以当做一个模板,当需要快速开发一个SSM框架的时候,这个东西能当做模板来使用。
百度网盘:
链接: https://pan.baidu.com/s/17f7KJt-onsZu634nNaHcCA
密码: jp09
二维码:
