本书重点
基于版本Spring 6.1.10、Spring MVC 6.1.10、MyBatis 3.5.16。
详解SSM框架各组件用法及其整合方法,实战新闻发布管理系统、图书管理系统开发。
配套示例源码、PPT课件、教学大纲、习题答案、教学视频。
内容简介
本书全面讲解使用流行轻量级框架SSM(Spring+Spring MVC+MyBatis)进行JavaEE Web开发的技术,并以综合案例“学生选课管理系统”为主线贯穿全书,知识内容层层推进,将知识点有机地串联起来,便于读者掌握与理解。
本书共16章,分4部分。第1部分是MyBatis篇,包括第1~5章,涵盖MyBatis基础、MyBatis的核心XML配置文件等内容;第2部分是Spring篇,包括第6~10章,涵盖Spring基础、使用Spring管理Bean等;第3部分是Spring MVC篇,包括第11~15章,涵盖Spring MVC基础、Spring MVC常用注解等内容;第4部分是MyBatis + Spring + Spring MVC整合篇,包括第16章,涵盖MyBatis+Spring+Spring MVC整合思路、基础环境搭建等内容。本书附有知识点案例源代码、综合案例源代码、数据库文件、教学大纲、教学PPT、课后习题参考答案等配套资源。
适合读者
SSM框架初学者、SSM框架应用开发人员。
作者简介
杨章伟,毕业于中国人民大学,硕士,副教授,中国计算机学会(CCF)会员,萍乡市网络空间安全工程研究中心负责人。主要从事云计算、网络安全、教育信息化等方面的研究。近年来主持完成省部级科技、教改等科研项目多项,出版过多部教材及应用书籍。参加创作的图书有《SSM+Vue.js 3全栈开发实战》《Spring+Spring MVC+MyBatis从零开始学》等。
前言
为什么后台开发要用SSM框架
SSM框架内置了大量的基础功能,使得程序员可以将工作重心放到业务逻辑的实现上。SSM框架具备良好的规范性和重用性,使得用其开发出来的Web应用易扩展、易维护。换言之,SSM框架简化了烦琐的配置工作,使得编写代码更加顺滑。
为什么前端开发要用Vue框架
Vue是一款友好的、多用途且高性能的JavaScript框架,使用Vue可以创建可维护性和可测试性更强的代码。Vue允许将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用Vue,方便与SSM、Spring Boot等后端开发交互整合。
SSM+Vue框架有哪些优点
SSM+Vue框架实现了前后端分离,SSM负责后台开发,Vue承担前端开发。在Web应用系统开发中,SSM+Vue框架能够实现响应式数据绑定,会自动对页面中某些数据的变化做出同步的响应,使数据的更改更为简单,并是代码具备良好的移植性和可维护性。
阅读本书需要的基础知识
如果想要顺利阅读本书,读者需要掌握以下基础知识和编程技能:
(1)Java编程基础。
(2)MySQL数据库安装、建库、建表、数据的增删改查等基本操作。
(3)Web前端基础,包括HTML5、CSS3、JavaScript网页编程基础。
本书特点
(1)内容丰富,知识全面
本书采用从易到难、循序渐进的方式进行讲解,内容涉及Spring 6.1.10、Spring MVC 6.1.10、MyBatis 3.5.16,以及SSM框架与Vue的整合。
(2)格式统一,讲解规范
本书案例基本上都采用分步骤实现的方法。这样使得读者可以很清晰地了解每个技术的具体实现步骤,提高学习效率。
(3)案例精讲,注重实践
为了方便读者学习和理解,根据作者多年的项目经验,在讲授知识点的同时,配备大量实例(含源代码)贯穿讲解和代码演示,从而让读者边学边实践。
(4)贴心提醒,轻松掌握
根据需要在各章使用了诸如“注意”“说明”等小栏目,让读者可以在学习过程中更轻松地理解相关知识点及概念。
(5)配套丰富,方便自学
本书配套丰富的教学资源,包括示例源码、PPT课件、教学大纲、教学视频,方便读者快速掌握SSM框架开发技术。
配套资源下载
本书配套资源包括示例源码、PPT课件、教学大纲、教学视频,读者需要用自己的微信扫描下面的二维码获取。微信交流群信息参见下载资源中的相关文件。
本书读者
- SSM框架应用开发初学者
- SSM+Vue框架开发初学者
- Java Web应用开发初学者
- Java Web全栈应用开发工程师
- 高等院校或高职高专院校的学生
作 者
2024年9月
目录
目 录
第1章 Spring基础 1
1.1 Spring概述 1
1.1.1 什么是Spring 1
1.1.2 Spring的下载及目录结构 2
1.2 控制反转与依赖注入 4
1.2.1 什么是控制反转 4
1.2.2 什么是依赖注入 5
1.2.3 IoC/DI的实现 5
1.3 习题 11
第2章 Spring中的Bean 12
2.1 Bean的配置 12
2.2 Bean的作用域 13
2.2.1 作用域的种类 14
2.2.2 singleton作用域 14
2.2.3 prototype作用域 16
2.3 Bean的装配方式 16
2.3.1 基于XML的装配 16
2.3.2 基于Annotation的装配 19
2.3.3 自动装配 23
2.4 习题 24
第3章 Spring AOP 25
3.1 Spring AOP简介 25
3.1.1 什么是AOP 25
3.1.2 AOP术语 26
3.2 AspectJ开发 26
3.2.1 基于XML的声明式AspectJ 26
3.2.2 基于注解的声明式AspectJ 33
3.3 习题 36
第4章 Spring的数据库开发 37
4.1 Spring JDBC 37
4.1.1 Spring JdbcTemplate的解析 37
4.1.2 Spring JDBC的配置 38
4.2 Spring JdbcTemplate的常用方法 39
4.2.1 execute()—执行SQL语句 39
4.2.2 update()—更新数据 42
4.2.3 query()—查询数据 47
4.3 习题 49
第5章 Spring的事务管理 50
5.1 Spring事务管理概述 50
5.1.1 事务管理的核心接口 50
5.1.2 事务管理的方式 52
5.2 声明式事务管理 53
5.2.1 基于XML方式的声明式事务 53
5.2.2 基于Annotation方式的声明式事务 57
5.3 习题 60
第6章 初识MyBatis 61
6.1 MyBatis概述 61
6.1.1 什么是MyBatis 61
6.1.2 MyBatis的下载和使用 62
6.2 MyBatis入门程序 62
6.2.1 查询用户 62
6.2.2 添加客户 69
6.2.3 更新用户 70
6.2.4 删除用户 71
6.3 习题 71
第7章 MyBatis的核心配置 72
7.1 MyBatis的核心对象 72
7.1.1 SqlSessionFactory 72
7.1.2 SqlSession 73
7.2 MyBatis配置文件元素 74
7.2.1 <properties>元素 75
7.2.2 <settings>元素 76
7.2.3 <typeAliases>元素 77
7.2.4 <typeHandler>元素 78
7.2.5 <objectFactory>元素 80
7.2.6 <plugins>元素 80
7.2.7 <environments>元素 80
7.2.8 <mappers>元素 81
7.3 映射文件 82
7.3.1 <select>元素 82
7.3.2 <insert>元素 83
7.3.3 <update>元素和<delete>元素 85
7.3.4 <sql>元素 85
7.3.5 <resultMap>元素 86
7.4 习题 87
第8章 动态SQL 88
8.1 <if>元素 88
8.2 <choose>、<when>和<otherwise>元素 92
8.3 <where>、<trim>元素 94
8.4 <set>元素 95
8.5 <foreach>元素 96
8.6 <bind>元素 97
8.7 习题 98
第9章 MyBatis的关联映射 99
9.1 关联关系概述 99
9.2 MyBatis中的关联关系 100
9.2.1 一对一 100
9.2.2 一对多 106
9.2.3 多对多 109
9.3 习题 113
第10章 MyBatis与Spring的整合 114
10.1 整合环境搭建 114
10.1.1 准备所需的JAR包 114
10.1.2 编写配置文件 116
10.2 整合 118
10.2.1 传统DAO方式的开发整合 118
10.2.2 Mapper接口方式的开发整合 121
10.3 习题 124
第11章 Spring MVC入门 125
11.1 Spring MVC概述 125
11.2 第一个Spring MVC入门示例 126
11.2.1 创建项目,引入JAR包 126
11.2.2 配置前端控制器 126
11.2.3 创建Controller类 127
11.2.4 创建Spring MVC的配置文件,配置控制器映射信息 128
11.2.5 创建视图(View)页面 128
11.2.6 启动项目,测试应用 129
11.3 Spring MVC的注解 130
11.3.1 DispatcherServlet 130
11.3.2 Controller注解类型 131
11.3.3 RequestMapping注解类型 132
11.3.4 ViewResolver(视图解析器) 136
11.4 应用示例—基于注解的Spring MVC应用 137
11.5 习题 138
第12章 Spring MVC数据绑定 139
12.1 数据绑定概述 139
12.2 简单数据绑定 140
12.2.1 绑定默认数据类型 140
12.2.2 绑定简单数据类型 143
12.2.3 绑定POJO类型 144
12.2.4 绑定包装POJO 147
12.3 复杂数据绑定 150
12.3.1 绑定数组 150
12.3.2 绑定集合 152
12.4 习题 155
第13章 JSON数据交互和RESTful支持 156
13.1 JSON数据交互 156
13.1.1 JSON概述 156
13.1.2 JSON数据转换 157
13.2 RESTful支持 164
13.2.1 什么是RESTful 164
13.2.2 应用示例—查询客户信息 164
13.3 习题 166
第14章 拦截器 167
14.1 拦截器概述 167
14.1.1 拦截器的定义 167
14.1.2 拦截器的配置 168
14.2 拦截器的执行流程 169
14.2.1 单个拦截器的执行流程 169
14.2.2 多个拦截器的执行流程 172
14.3 应用示例——用户登录权限验证 174
14.4 习题 179
第15章 SSM框架整合 180
15.1 整合环境搭建 180
15.1.1 整合思路 180
15.1.2 准备所需的JAR包 181
15.1.3 编写配置文件 182
15.2 整合测试 185
15.3 习题 189
第16章 SSM实战:新闻发布管理系统 190
16.1 系统概述 190
16.1.1 系统功能需求 190
16.1.2 系统架构设计 191
16.2 数据分析与设计 191
16.3 系统功能设计与实现 194
16.4 开发环境和框架搭建 194
16.4.1 创建项目,引入JAR包 194
16.4.2 编写配置文件 195
16.4.3 配置相关目录、文件和资源 199
16.5 用户管理模块 200
16.5.1 创建持久化类 200
16.5.2 实现DAO 200
16.5.3 实现Service 204
16.5.4 实现Controller 206
16.5.5 实现页面功能 211
16.6 新闻管理模块 222
16.6.1 创建持久化类 222
16.6.2 实现DAO 223
16.6.3 实现Service 226
16.6.4 实现Controller 229
16.6.5 实现页面功能 233
16.7 登录验证 234
16.7.1 创建登录拦截器类 235
16.7.2 配置拦截器 236
16.8 项目小结 237
第17章 SSM+Vue实战:图书管理系统 238
17.1 系统概述 238
17.1.1 系统功能需求 238
17.1.2 功能模块设计 239
17.2 数据分析与设计 239
17.3 开发环境和框架搭建 243
17.3.1 创建项目 244
17.3.2 编写配置文件 244
17.3.3 创建相关包和文件 248
17.4 系统功能设计与实现 249
17.4.1 用户登录模块 249
17.4.2 图书(分类)管理模块 250
17.4.3 借阅管理模块 260
17.4.4 读者(管理员)管理模块 267
17.4.5 公告管理模块 277
17.5 项目小结 281