第1章 Spring基础 1
学习目的与要求 1
本章主要内容 1
1.1 Spring概述 1
1.1.1 Spring的由来 1
1.1.2 Spring的体系结构 1
1.2 Spring开发环境的构建 3
1.2.1 配置IntelliJ IDEA的Web服务器 4
1.2.2 Spring的下载 6
1.2.3 第一个Spring入门程序 6
1.3 Spring IoC 10
1.3.1 Spring IoC的基本概念 10
1.3.2 Spring的常用注解 10
1.3.3 基于注解的依赖注入 11
1.4 Spring AOP 14
1.4.1 Spring AOP的基本概念 14
1.4.2 基于注解开发AspectJ 17
1.5 Spring Bean 22
1.5.1 Bean的实例化 22
1.5.2 Bean的作用域 25
1.5.3 Bean的初始化和销毁 27
1.6 本章小结 29
习题1 29
第2章 Spring MVC基础 30
学习目的与要求 30
本章主要内容 30
2.1 Spring MVC的工作原理 31
2.2 Spring MVC的工作环境 32
2.2.1 Spring MVC所需要的JAR包 32
2.2.2 使用IntelliJ IDEA开发Spring MVC应用 32
2.2.3 基于Java配置的Spring MVC应用 39
2.3 基于注解的控制器 42
2.3.1 Controller注解类型 42
2.3.2 RequestMapping注解类型 42
2.3.3 编写请求处理方法 44
2.3.4 Controller接收请求参数的常见方式 45
2.3.5 重定向与转发 51
2.3.6 应用@Autowired进行依赖注入 52
2.3.7 @ModelAttribute 54
2.4 JSON数据交互 55
2.4.1 JSON数据结构 55
2.4.2 JSON数据转换 56
2.5 Spring MVC的基本配置 61
2.5.1 静态资源配置 61
2.5.2 拦截器配置 62
2.5.3 文件上传配置 63
2.6 本章小结 69
习题2 69
第3章 Spring Boot入门 69
学习目的与要求 69
本章主要内容 69
3.1 Spring Boot概述 69
3.1.1 什么是Spring Boot 69
3.1.2 Spring Boot的优点 69
3.1.3 Spring Boot的主要特性 69
3.2 第一个Spring Boot应用 70
3.2.1 Maven简介 70
3.2.2 Maven的pom.xml 71
3.2.3 使用IntelliJ IDEA快速构建Spring Boot应用 72
3.3 本章小结 75
习题3 75
第4章 Spring Boot核心 76
学习目的与要求 76
本章主要内容 76
4.1 Spring Boot的基本配置 76
4.1.1 启动类和核心注解@SpringBootApplication 76
4.1.2 Spring Boot的全局配置文件 77
4.1.3 Spring Boot的Starters 78
4.2 读取应用配置 78
4.2.1 Environment 78
4.2.2 @Value 80
4.2.3 @ConfigurationProperties 80
4.2.4 @PropertySource 82
4.3 日志配置 83
4.4 Spring Boot的自动配置原理 85
4.5 Spring Boot的条件注解 87
4.5.1 条件注解 87
4.5.2 自定义条件 87
4.5.3 自定义Starters 90
4.6 本章小结 97
习题4 97
第5章 Spring Boot的Web开发 98
学习目的与要求 98
本章主要内容 98
5.1 Spring Boot的Web开发支持 98
5.2 Thymeleaf模板引擎 98
5.2.1 Spring Boot的Thymeleaf支持 99
5.2.2 Thymeleaf基础语法 100
5.2.3 Thymeleaf的常用属性 103
5.2.4 Spring Boot与Thymeleaf实现页面信息国际化 108
5.2.5 Spring Boot与Thymeleaf的表单验证 113
5.2.6 基于Thymeleaf与BootStrap的Web开发实例 117
5.3 Spring Boot处理JSON数据 121
5.4 Spring Boot文件上传与下载 126
5.5 Spring Boot的异常统一处理 133
5.5.1 自定义error页面 133
5.5.2 @ExceptionHandler注解 137
5.5.3 @ControllerAdvice注解 138
5.6 Spring Boot对JSP的支持 139
5.7 本章小结 142
习题5 142
第6章 Spring Boot的数据访问 143
学习目的与要求 143
本章主要内容 143
6.1 Spring Data JPA 143
6.1.1 Spring Boot的支持 144
6.1.2 简单条件查询 145
6.1.3 关联查询 153
6.1.4 @Query和@Modifying注解 173
6.1.5 排序与分页查询 174
6.2 REST 179
6.2.1 REST简介 179
6.2.2 Spring Boot整合REST 181
6.2.3 Spring Data REST 181
6.2.4 REST服务测试 183
6.3 MongoDB 187
6.3.1 安装MongoDB 188
6.3.2 Spring Boot整合MongoDB 188
6.3.3 增删改查 189
6.4 Redis 193
6.4.1 安装Redis 194
6.4.2 Spring Boot整合Redis 198
6.4.3 使用StringRedisTemplate和RedisTemplate 199
6.5 数据缓存Cache 204
6.5.1 Spring缓存支持 204
6.5.2 Spring Boot缓存支持 206
6.5.3 使用Redis Cache 211
6.6 本章小结 211
习题6 211
第7章 MyBatis与MyBatis-Plus 212
学习目的与要求 212
本章主要内容 212
7.1 Spring Boot整合MyBatis 212
7.2 MyBatis基础 216
7.2.1 <select>元素 216
7.2.2 <insert>、<update>以及<delete>元素 220
7.2.3 动态SQL 221
7.3 MyBatis-Plus快速入门 224
7.3.1 MyBatis-Plus简介 224
7.3.2 Spring Boot整合MyBatis-Plus 224
7.4 MyBatis-Plus基础 227
7.4.1 MyBatis-Plus注解 227
7.4.2 CRUD 接口 230
7.4.3 条件构造器 239
7.5 本章小结 244
习题7 244
第8章 Spring Boot的安全控制 245
学习目的与要求 245
本章主要内容 245
8.1 Spring Security快速入门 245
8.1.1 什么是Spring Security 245
8.1.2 Spring Security的用户认证 245
8.1.4 Spring Security的请求授权 247
8.1.5 Spring Security的核心类 248
8.1.6 Spring Security的验证机制 249
8.2 Spring Boot的支持 249
8.3 实际开发中的Spring Security操作实例 250
8.4 本章小结 262
习题8 262
第9章 异步消息 263
学习目的与要求 263
本章主要内容 263
9.1 消息模型 263
9.1.1 点对点式 263
9.1.2 发布/订阅式 263
9.2 企业级消息代理 263
9.2.1 JMS 264
9.2.2 AMQP 266
9.3 Spring Boot的支持 267
9.3.1 JMS的自动配置 267
9.3.2 AMQP的自动配置 268
9.4 异步消息通信实例 268
9.4.1 JMS实例 268
9.4.2 AMQP实例 273
9.5 本章小结 278
习题9 278
第10章 Spring Boot单元测试 279
学习目的与要求 279
本章主要内容 279
10.1 Junit 5 279
10.1.1 Junit 5简介 279
10.1.2 Junit 5注解 279
10.1.3 Junit 5断言 281
10.2 单元测试用例 283
10.2.1 测试环境构建 283
10.2.2 测试Mapper接口 285
10.2.3 测试Service层 286
10.3 使用Postman测试Controller层 287
10.4 本章小结 291
习题10 291
第11章 Vue.js基础 292
学习目的与要求 292
本章主要内容 292
11.1 网站交互方式 292
11.1.1 多页应用程序 292
11.1.2 单页应用程序 293
11.2 MVVM模式 294
11.3 Vue.js是什么 295
11.4 安装Vue.js 295
11.4.1 本地独立版本方法 295
11.4.2 CDN方法 295
11.4.3 NPM方法 296
11.4.4 命令行工具(CLI)方法 296
11.5 第一个Vue.js程序 296
11.5.1 安装Visual Studio Code及其插件 296
11.5.2 创建第一个Vue.js应用 297
11.5.3 声明式渲染 299
11.5.4 Vue.js生命周期 300
11.6 插值与表达式 302
11.6.1 文本插值 303
11.6.2 原始HTML插值 303
11.6.3 JavaScript表达式 303
11.7 计算属性和监听器 303
11.7.1 计算属性computed 303
11.7.2 监听器属性watch 307
11.8 内置指令 309
11.8.1 v-bind指令 309
11.8.2 条件渲染指令v-if和v-show 310
11.8.3 列表渲染指令v-for 312
11.8.4 事件处理 314
11.8.5 表单与v-model 316
11.8.6 实战:购物车实例 318
11.9 组件 321
11.9.1 组件注册 322
11.9.2 使用props传递数据 324
11.9.3 组件通信 327
11.9.4 动态与异步组件 333
11.9.5 实战:正整数数字输入框组件 334
11.10 自定义指令 336
11.10.1 自定义指令注册 336
11.10.2 实战:实时时间转换指令 338
11.11 响应性 340
11.11.1 什么是响应性 340
11.11.2 响应性原理 341
11.12 setup组件选项 342
11.12.1 setup函数的参数 342
11.12.2 setup函数的返回值 344
11.12.3 使用ref创建响应式引用 345
11.12.4 setup内部调用生命周期钩子函数 346
11.13 本章小结 346
习题11 346
第12章 Vue.js进阶 350
学习目的与要求 350
本章主要内容 350
12.1 单文件组件与webpack 350
12.2 安装Node.js和NPM 351
12.2.1 安装Node.js 351
12.2.2 NPM常用命令 352
12.3 Vue Router 354
12.3.1 Vue Router的安装 355
12.3.2 Vue Router基本用法 360
12.3.3 Vue Router高级应用 366
12.3.4 路由钩子函数 380
12.3.5 路由元信息 384
12.3.6 登录权限验证示例 385
12.4 setup语法糖 388
12.4.1 属性与方法的绑定 389
12.4.2 路由 390
12.4.3 组件传值 392
12.5 Element Plus UI组件库 395
12.5.1 Element Plus安装 395
12.5.2 Element Plus组件介绍 395
12.5.3 Element Plus组件应用 396
12.5.4 按需引入Element Plus 398
12.6 本章小结 400
习题12 400
第13章 电子商务平台的设计与实现(Spring Boot + Vue.js 3 + MyBatis-Plus) 402
学习目的与要求 402
本章主要内容 402
13.1 系统设计 402
13.1.1 系统功能需求 402
13.1.2 系统模块划分 403
13.2 数据库设计 403
13.2.1 数据库概念结构设计 404
13.2.2 数据库逻辑结构设计 405
13.3 使用IntelliJ IDEA构建后端系统 407
13.3.1 创建Spring Boot Web应用 407
13.3.2 修改pom.xml 407
13.3.3 配置数据源等信息 407
13.3.4 创建持久化实体类 408
13.3.5 创建Mapper接口 408
13.3.6 创建业务层 410
13.3.7 创建控制器层 420
13.3.8 创建跨域响应头设置过滤器 426
13.3.9 创建工具类 426
13.3.10 MyBatis-Plus分页插件、Redis以及Token签名配置 426
13.4 使用Vue CLI构建前端系统 427
13.4.1 使用Vue CLI构建前端项目ebusiness-vue 427
13.4.2 安装Element Plus和@element-plus/icons-vue 427
13.4.3 安装ECharts 428
13.4.4 安装Axios模块并设置跨域访问 428
13.4.5 管理员登录组件 428
13.4.6 后台管理主界面组件 431
13.4.7 商品类型管理组件 431
13.4.8 商品管理组件 432
13.4.9 订单管理组件 432
13.4.10 销量统计(按月)组件 436
13.4.11 订单统计(按类型)组件 438
13.4.12 前端首页组件 441
13.4.13 用户注册组件 443
13.4.14 用户登录组件 443
13.4.15 个人信息组件 444
13.4.16 商品详情组件 444
13.4.17 我的购物车组件 448
13.4.18 我的订单组件 453
13.4.19 我的收藏组件 453
13.4.20 订单确认组件 454
13.4.21 配置路由 454
13.5 测试运行 457
13.6 小结 457
习题13 457