本书全面介绍 Spring Boot 3 + Vue.js 3全栈开发的基本思想、方法和技术。全书共 13章,内容涵盖 Spring基础、Spring MVC基础、Spring Boot核心知识、Web开发、数据访问、MyBatis与 MyBatis-Plus框架基础、安全控制、异步消息、单元测试、Vue.js基础与进阶、电子商务平台的设计与实现(Spring Boot + Vue.js 3 + MyBatis-Plus)等。书中实例侧重实用性、通俗易懂,通过本书的学习,读者能够快速掌握 Spring Boot 3 + Vue.js 3全栈开发的基础知识、编程技巧以及完整的开发体系,为大型项目开发打下坚实的基础。
本书可作为大学计算机及相关专业的教材或教学参考书,也可作为 Java技术的培训教材,适合具有 Java和 Java Web编程基础的读者,尤其适合广大 Java EE应用开发人员阅读与使用。
源码下载
1.1 Spring概述1
1.1.1 Spring的由来 1
1.1.2 Spring的体系结构 2
1.2 Spring开发环境的构建
4
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 16
1.5 Spring Bean
20
1.5.1 Bean的实例化 20
1.5.2 Bean的作用域 22
1.5.3 Bean的初始化和销毁 24
本章小结 25
习题 1 26
2.1 Spring MVC的工作原理 27
2.2 Spring MVC的工作环境
28
2.2.1 Spring MVC所需要的 JAR包 28
2.2.2 使用 IntelliJ IDEA开发 Spring MVC应用 29
2.2.3 基于 Java配置的 Spring MVC应用 35
2.3 基于注解的控制器
37
2.3.1 Controller注解类型 37
2.3.2 RequestMapping注解类型 37
2.3.3 编写请求处理方法 39
2.3.4 Controller接收请求参数的常见方式 40
2.3.5 重定向与转发 44
2.3.6 应用@Autowired进行依赖注入 45
2.3.7 @ModelAttribute 47
2.4 JSON数据交互
48
2.4.1 JSON数据结构 48
2.4.2 JSON数据转换 49
2.5 Spring MVC的基本配置
52
2.5.1 静态资源配置 52
2.5.2 拦截器配置 53
2.5.3 文件上传配置 54
本章小结 59
习题 2 59
3.1 Spring Boot概述 60
3.1.1 什么是 Spring Boot 60
3.1.2 Spring Boot的优点 60
3.1.3 Spring Boot的主要特性 61
3.2 第一个 Spring Boot应用
61
3.2.1 Maven简介 61
3.2.2 Maven的 pom.xml 61
3.2.3 使用 IntelliJ IDEA快速构建 Spring Boot应用 62
本章小结 65
习题 3 65
4.1 Spring Boot的基本配置 66
4.1.1 启动类和核心注解@SpringBootApplication 66
4.1.2 Spring Boot的全局配置文件 67
4.1.3 Spring Boot的 Starters 67
4.2 读取应用配置
68
4.2.1 使用Environment类 68
4.2.2 使用@Value注解 69
4.2.3 使用@ConfigurationProperties注解 70
4.2.4 使用@PropertySource注解 71
4.3 日志配置 72
4.4 Spring Boot的自动配置原理
73
4.5 Spring Boot的条件注解 75
4.5.1 条件注解 75
4.5.2自定义条件
76
4.5.3自定义 Starters
78
本章小结 84
习题 4 84
5.1 Spring Boot的Web开发支持 85
5.2 Thymeleaf模板引擎 85
5.2.1 Spring Boot的 Thymeleaf支持 86
5.2.2 Thymeleaf的基础语法 87
5.2.3 Thymeleaf的常用属性 90
5.2.4 通过 Spring Boot与 Thymeleaf实现页面信息的国际化
93
5.2.5 Spring Boot与 Thymeleaf的表单验证
97
5.2.6基于 Thymeleaf和 BootStrap的 Web开发实例
101
5.3 使用 Spring Boot处理 JSON数据
104
5.4 Spring Boot的文件上传与下载
108
5.5 Spring Boot的异常统一处理
112
5.5.1 自定义 error页面 113
5.5.2 @ExceptionHandler注解 116
5.5.3 @ControllerAdvice注解 117
5.6 Spring Boot对 JSP的支持
118
本章小结 120
习题 5 120
6.1 Spring Data JPA 122
6.1.1 Spring Boot的支持123
6.1.2 简单条件查询
124
6.1.3关联查询
131
6.1.4 @Query和@Modifying注解148
6.1.5 排序与分页查询
148
6.2 REST
152
6.2.1 REST简介152
6.2.2 Spring Boot整合 REST 154
6.2.3 Spring Data REST 155
6.2.4 REST服务测试 156
6.3 MongoDB
161
6.3.1 安装 MongoDB 161
6.3.2 Spring Boot整合 MongoDB 161
6.3.3 增、删、改、查162
6.4 Redis
165
6.4.1 安装 Redis166
6.4.2 Spring Boot整合 Redis 169
6.4.3 使用 StringRedisTemplate和 RedisTemplate170
6.5 数据缓存 Cache
174
6.5.1 Spring缓存支持 174
6.5.2 Spring Boot缓存支持 176
6.5.3 使用 Redis Cache 180
本章小结 181
习题 6 181
7.1 Spring Boot整合 MyBatis
182
7.2 MyBatis基础185
7.2.1<select>元素
185
7.2.2 <insert>、<update>以及<delete>元素
189
7.2.3动态 SQL
189
7.3MyBatis-Plus快速入门
191
7.3.1 MyBatis-Plus简介191
7.3.2 Spring Boot整合 MyBatis-Plus 192
7.4MyBatis-Plus基础
194
7.4.1 MyBatis-Plus注解194
7.4.2 CRUD接口197
7.4.3 条件构造器 204
本章小结 208 习题 7 208
8.1 Spring Security快速入门 209
8.1.1 什么是 Spring Security 209
8.1.2 Spring Security的用户认证209
8.1.3 Spring Security的请求授权211
8.1.4 Spring Security的核心类 211
8.1.5 Spring Security的验证机制213
8.2 Spring Boot的支持213
8.3 实际开发中的 Spring Security操作实例
213
本章小结 223
习题 8 223
9.1 消息模型 224
9.1.1 点对点式 224
9.1.2 发布/订阅式 224
9.2 企业级消息代理225
9.2.1 JMS225
9.2.2 AMQP226
9.3 Spring Boot的支持228
9.3.1 JMS的自动配置228
9.3.2 AMQP的自动配置 228
9.4 异步消息通信实例228
9.4.1JMS实例
228
9.4.2AMQP实例
233
本章小结 238
习题 9 238
10.1 JUnit 5239
10.1.1 JUnit 5简介 239
10.1.2 JUnit 5注解 240
10.1.3 JUnit 5断言 241
10.2 单元测试用例
242
10.2.1 测试环境的构建 242
10.2.2 测试 Mapper接口244
10.2.3 测试 Service层 245
10.3 使用 Postman测试 Controller层
246
本章小结 249
习题 10249
11.1 网站交互方式250
11.1.1 多页应用程序250
11.1.2 单页应用程序251
11.2 MVVM模式 252
11.3 Vue.js是什么 253
11.4 安装 Vue.js253
11.5 第一个 Vue.js程序
253
11.5.1 安装 Visual Studio Code及其插件 254
11.5.2 创建第一个 Vue.js应用255
11.5.3 声明式渲染256
11.5.4 Vue.js的生命周期 257
11.6 插值与表达式259
11.6.1 文本插值259
11.6.2 原始 HTML插值 259
11.6.3 JavaScript表达式 259
11.7 计算属性和监听器属性259
260
11.7.1计算属性 computed
11.7.2监听器属性 watch
263
11.8 内置指令264
11.8.1v-bind指令
265
11.8.2 条件渲染指令 v-if和 v-show
266
267
11.8.3 列表渲染指令 v-for
11.8.4事件处理
268
11.8.5表单与 v-model
270
272
11.8.6实战:购物车实例
11.9 组件 274
11.9.1组件的注册
275
11.9.2使用 props传递数据
277
11.9.3组件的通信
278
11.9.4 动态组件与异步组件
283
11.9.5实战:正整数数字输入框组件
285
11.10自定义指令
286
11.10.1 自定义指令的注册286
11.10.2 实战:实时时间转换指令 288
11.11响应性
290
11.11.1 什么是响应性 290
11.11.2 响应性的原理 290
11.12 setup组件选项
291
11.12.1 setup函数的参数 291
11.12.2 setup函数的返回值293
11.12.3 使用 ref创建响应式引用 294
11.12.4 在 setup内部调用生命周期钩子函数295
本章小结 295
习题 11295
12.1 单文件组件与 webpack 298
12.2 安装 Node.js和 NPM299
12.2.1 安装 Node.js 299
12.2.2 NPM常用的命令300
12.3 Vue Router 302
302
12.3.1Vue Router的安装
12.3.2Vue Router的基本用法
306
12.3.3Vue Router的高级应用
311
12.3.4 路由钩子函数321
12.3.5 路由元信息324
12.3.6 登录权限验证示例
325
12.4 setup语法糖
328
12.4.1 属性与方法的绑定 328
12.4.2 路由 330
12.4.3 组件传值331
12.5 Element Plus UI组件库
333
12.5.1 Element Plus的安装334
12.5.2 Element Plus组件的介绍 334
12.5.3 Element Plus组件的应用 335
12.5.4 按需引入 Element Plus 336
本章小结 338
习题 12338
339
340