Spring Boot+Vue.js+分布式组件全栈开发训练营(视频教学版)
- ISBN:9787302589778
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:284
- 出版时间:2021-10-01
- 条形码:9787302589778 ; 978-7-302-58977-8
本书特色
Spring Boot已成为众多软件公司开发项目的**技能,如BATJ大厂及很多互联网公司都在使用该技术进行企业应用开发,因此很多Java程序员都在学习Spring Boot开发的相关技能。 然而,大多数学习Spring Boot的初学者并不了解该学哪些知识体系,以及应该学到什么程度,甚至很多人虽然投入了大量时间,由于没有抓住要点,或者缺乏企业项目演练,技能提升的效果并不明显。 本书正是基于上述考虑精心编写的。本书由两位具有十余年Java开发经验的资深开发工程师编写,目标是让读者通过本书的学习真正掌握Spring Boot开发企业项目的技能。
内容简介
《Spring Boot+Vue.js+分布式组件全栈开发训练营(视频教学版)》以企业应用开发为目标,全面讲述Spring Boot整合分布式组件进行全栈项目开发的实战技能。全书分为三部分。**部分(第1~9章)主要讲述Spring Boot的相关技能,包括搭建Spring Boot开发环境、Spring Boot框架基础、JPA操作数据库、面向切面编程、基于Thymeleaf和FreeMarker的全栈开发、拦截器和过滤器、RESTful规范定义服务、Swagger组件可视化服务、logback和ELK组件输出日志、基于Spring Security和Shiro的安全框架技术和基于Junit的单元测试技术。第二部分(第10~15章)主要讲述Spring Boot整合诸多分布式组件的技术,包括整合MongoDB、Redis和MyCAT数据层组件、整合Dubbo和Zookeeper、整合RabbitMQ消息中间件和基于Nginx的分布式部署。第三部分(第16和17章),第16章以前后端分离项目为例,给出了基于Vue的全栈开发技术,其中前端用到了Vue、Element-UI和Axios等组件,后端用到了Redis缓存组件和MyCAT分库组件;第17章通过高并发限流和秒杀项目讲述了Redis和RabbitMQ等分布式组件的用法。 《Spring Boot+Vue.js+分布式组件全栈开发训练营(视频教学版)》是编者十余年一线Java项目开发经验的总结,重在解决实际开发中遇到的问题,特别适合具有Java基础和想学习Spring Boot项目开发的人员使用。由于该书各章还提供了练习题,因此也很适合用作培训机构和大专院校书的教学用书。
目录
目 录
第1章 搭建Spring Boot开发环境 1
1.1 初识Spring Boot 1
1.1.1 Spring Boot是什么 1
1.1.2 Spring、Spring MVC和Spring Boot的关系 1
1.1.3 Spring Boot是SSM框架的升级版 2
1.2 搭建Spring Boot的开发环境 3
1.2.1 安装和配置JDK开发环境 3
1.2.2 安装IDEA集成开发环境 5
1.2.3 安装Maven工具 5
1.2.4 Maven工具与IDEA的集成 6
1.3 用Maven开发**个Spring Boot项目 8
1.3.1 搭建基于Maven的Spring Boot项目 8
1.3.2 通过pom.xml文件引入依赖包 9
1.3.3 开发**个Spring Boot项目 11
1.3.4 运行并观察效果 12
1.3.5 对Spring Boot项目的直观说明 13
1.4 思考与练习 13
第2章 Spring Boot编程基础 15
2.1 准备知识:什么是控制反转 15
2.1.1 以实例了解控制反转的做法 15
2.1.2 Bean与Spring容器 17
2.1.3 控制反转和依赖注入是一回事 17
2.2 Spring Boot项目的通用框架 18
2.3 开发Spring Boot启动类 19
2.3.1 对注解@SpringBootApplication的说明 19
2.3.2 配置热部署 20
2.3.3 通过Banner定制启动信息 21
2.3.4 关闭定制的启动界面 22
2.4 编写控制器类 22
2.4.1 用@Controller注解定义控制器类 22
2.4.2 用@RequestMapping映射请求 24
2.4.3 从请求中读取参数 26
2.4.4 用produces参数返回JSON格式的结果 27
2.5 编写业务逻辑类 28
2.5.1 用@Service注解编写业务处理类 28
2.5.2 在控制器类中调用业务逻辑类的方法 29
2.6 编写和读取配置文件 30
2.6.1 配置和读取.properties文件 30
2.6.2 配置和读取.yml文件 31
2.6.3 用@Value注解读取配置文件 32
2.6.4 在项目中用同一种风格读取配置文件 33
2.7 思考与练习 33
第3章 Spring Boot用JPA操作数据库 35
3.1 搭建MySQL环境 35
3.1.1 安装MySQL数据库和客户端 35
3.1.2 通过MySQL客户端创建数据库连接 36
3.1.3 通过MySQL客户端创建数据库 38
3.1.4 在数据库中创建数据表 39
3.1.5 向数据表中插入若干数据 39
3.2 ORM概念与JPA组件 40
3.2.1 通过ORM分离业务和数据库操作 40
3.2.2 JPA组件是ORM的解决方案 41
3.2.3 JPA组件的常用接口和实现类 41
3.3 通过JpaRepository访问数据库 42
3.3.1 创建项目,引入JPA依赖包 42
3.3.2 确认MySQL数据环境 43
3.3.3 编写业务实体类 43
3.3.4 编写JPA的配置文件 44
3.3.5 用JpaRepository编写Repo类 45
3.3.6 编写控制器类和业务逻辑类 46
3.3.7 运行观察增删改查的效果 48
3.4 实现分页和排序的JPA接口 49
3.4.1 用PagingAndSortingRepository实现排序和分页 49
3.4.2 对排序和分页对象的说明 51
3.5 深入了解JPA查询数据的方式 52
3.5.1 JPA从方法名中解析数据库操作的方式 52
3.5.2 用@Query查询数据 53
3.5.3 用nativeQuery参数运行原生SQL语句 53
3.6 通过JPA组件引入事务 54
3.6.1 “要么全都做,要么全都不做”的事务 54
3.6.2 用@Transactional注解管理事务 54
3.6.3 定义事务隔离级别 56
3.6.4 定义事务传播机制 57
3.6.5 @transactional注解使用建议 58
3.7 思考与练习 59
第4章 Spring Boot整合前端模板 60
4.1 Thymeleaf模板与前后端交互 60
4.1.1 用于前后端交互的ModelAndView对象 60
4.1.2 Spring Boot与Thymeleaf整合的范例 61
4.1.3 用Thymeleaf循环展示数据 64
4.1.4 用Thymeleaf进行条件判断 66
4.2 Spring Boot、JPA整合Thymeleaf 67
4.2.1 创建项目并准备数据环境 67
4.2.2 通过JPA获取数据并传给前端 68
4.2.3 用Thymeleaf模板演示分页效果 71
4.3 Spring Boot整合FreeMarker 74
4.3.1 Spring Boot整合FreeMarker的简单范例 74
4.3.2 用FreeMarker模板展示分页效果 76
4.4 思考与练习 79
第5章 面向切面编程与过滤器拦截器 80
5.1 面向切面的概念和做法 80
5.1.1 相关概念 80
5.1.2 用范例了解面向切面编程 81
5.1.3 环绕通知与拦截器 85
5.2 Spring Boot与拦截器 85
5.2.1 拦截器的重要方法 85
5.2.2 Spring Boot整合多个拦截器 86
5.2.3 从拦截器的运行效果观察执行顺序 90
5.3 Spring Boot与过滤器 90
5.3.1 过滤器的3个重要方法 90
5.3.2 Spring Boot整合多个过滤器 91
5.3.3 从运行效果观察过滤器的执行顺序 94
5.3.4 过滤器和拦截器的异同点 94
5.4 思考与练习 95
第6章 用RESTful规范提供统一风格的服务 96
6.1 RESTful规范与模块间的通信 96
6.1.1 URL请求、HTTP动作与返回码 96
6.1.2 什么是RESTful 97
6.1.3 增删改查方法对应的RESTful接口名 98
6.1.4 调用不同版本的请求 98
6.2 用RESTful统一项目的对外服务风格 99
6.2.1 创建项目 99
6.2.2 定义pom.xml,编写启动类 100
6.2.3 统一返回结果的格式 100
6.2.4 在控制器类中定义增删改查方法 102
6.2.5 全局性异常处理机制 104
6.3 用RestTemplate调用RESTful请求 105
6.3.1 RestTemplate对象重要方法说明 106
6.3.2 用RestTemplate发起POST请求 106
6.3.3 用RestTemplate发起GET请求 107
6.3.4 观察异常处理的结果 108
6.3.5 用RestTemplate发起PUT请求 109
6.3.6 用RestTemplate发起DELETE请求 109
6.4 用Swagger可视化RESTful请求 110
6.4.1 Swagger能解决哪些问题 110
6.4.2 用Swagger可视化RESTful请求 110
6.4.3 演示运行效果 112
6.5 思考与练习 114
第7章 Spring Boot整合日志组件 116
7.1 Spring Boot整合logback输出日志 116
7.1.1 Spring Boot整合logback的范例项目 116
7.1.2 用不同级别的日志输出不同种类的信息 120
7.1.3 为每个线程设置唯一标识,方便追踪问题 121
7.1.4 格式化日志文件名,方便排查问题 122
7.2 搭建ELK组件开发环境 122
7.2.1 ELK组件与工作示意图 123
7.2.2 搭建ELK运行环境 123
7.3 Spring Boot整合ELK平台 126
7.3.1 Spring Boot向ELK输出日志 126
7.3.2 在Kibana中观察日志 127
7.4 思考与练习 129
第8章 Spring Boot整合Junit单元测试组件 131
8.1 了解单元测试 131
8.1.1 单元测试的目的及难点分析 131
8.1.2 Junit组件简介 132
8.1.3 单元测试同其他测试的关系 132
8.2 对待测试项目的分析 133
8.2.1 构建待测试的项目 133
8.2.2 测试要点分析 134
8.3 Spring Boot整合Junit 135
8.3.1 引入Junit依赖包 135
8.3.2 测试控制器方法 135
8.3.3 测试业务处理方法 138
8.3.4 测试数据访问方法 140
8.4 思考与练习 141
第9章 Spring Boot集成安全管理框架 143
9.1 安全管理与Spring Security框架 143
9.1.1 安全管理需求点分析 143
9.1.2 Spring Security框架介绍 144
9.2 Spring Boot整合Spring Security 144
9.2.1 引入依赖包,编写启动类和控制类 144
9.2.2 观察身份验证效果 145
9.2.3 在配置文件中管理登录信息 146
9.2.4 以配置类的方式管理登录信息 146
9.2.5 基于角色的权限管理 147
9.3 基于数据库的安全管理框架 149
9.3.1 准备数据 149
9.3.2 创建项目,编写pom.xml 151
9.3.3 编写数据库配置文件 152
9.3.4 从数据库中获取安全信息 152
9.4 Spring Boot整合Shiro框架 153
9.4.1 Shiro框架概述 153
9.4.2 Spring Boot整合Shiro框架的范例说明 154
9.4.3 编写pom.xml文件和启动类 154
9.4.4 编写控制器类 155
9.4.5 编写Shiro相关类 156
9.4.6 编写登录等前端代码 159
9.4.7 观察基于Shiro的安全验证流程 160
9.5 思考与练习 161
第10章 Spring Boot整合MongoDB数据库 163
10.1 了解MongoDB 163
10.1.1 MongoDB概述 163
10.1.2 MongoDB的优缺点 164
10.1.3 安装MongoDB数据库 164
10.2 使用MongoDB 165
10.2.1 创建数据库和数据表 165
10.2.2 操作数据表的数据 166
10.3 Spring Boot整合MongoDB 167
10.3.1 项目和数据库的说明 167
10.3.2 编写pom文件、启动类和配置文件 167
10.3.3 编写业务模型类 168
10.3.4 通过MongoTemplate操作MongoDB 169
10.3.5 通过JPA操作MongoDB 171
10.3.6 观察运行结果 172
10.4 思考与练习 173
第11章 Spring Boot整合Redis缓存 174
11.1 了解Redis 174
11.2 Redis常用命令 176
11.3 Redis基本数据类型 178
11.4 Spring Boot整合Redis 181
11.5 Spring Boot整合数据库与Redis缓存 186
11.6 思考与练习 194
第12章 Spring Boot整合MyCAT分库组件 196
12.1 MyCAT分库组件概述 196
12.2 MyCAT整合MySQL实现分库效果 198
12.3 Spring Boot整合MyCAT组件 202
12.4 Spring Boot整合Redis与MyCAT组件 206
12.5 思考与练习 211
第13章 Spring Boot整合Dubbo和Zookeeper组件 213
13.1 Zookeeper和Dubbo框架概述 213
13.2 搭建基于Dubbo的服务提供者 215
13.3 编写调用Dubbo服务的项目 219
13.4 思考与练习 221
第14章 Spring Boot整合RabbitMQ消息中间件 222
14.1 RabbitMQ概述 222
14.2 Spring Boot整合RabbitMQ 224
14.3 用RabbitMQ搭建异步交互系统 229
14.4 思考与练习 235
第15章 项目打包、分布式部署和监控 236
15.1 打包和运行Spring Boot项目 236
15.2 基于Nginx的分布式部署 239
15.3 监控Spring Boot项目 242
15.4 思考与练习 247
第16章 Spring Boot+Vue前后端分离项目的开发 249
16.1 项目概述 249
16.2 后端Spring Boot项目实践要点 252
16.3 搭建前端Vue项目框架 255
16.4 开发前端页面 256
16.5 观察项目的运行效果 265
16.6 思考与练习 267
第17章 Spring+Redis+RabbitMQ限流和秒杀项目的开发 269
17.1 项目概述 269
17.2 基于Redis的Lua脚本分析 270
17.3 实现限流和秒杀功能 272
17.4 以异步方式保存秒杀结果 278
17.5 思考与练习 283
作者简介
曹宇,副教授,从事高校教育工作17年,主要研究领域为计算机应用技术,主讲Java编程课程多年,主导开发了EPC企业专利信息协同平台、大宗商品信息管理系统等多个项目,公开发表了《基于蒙太古语义学和受控自然语言的文献信息系统的实现》《基于JSON、JavaScript、HTML5和前端存储技术的均衡运算框架研究》《基于UWB的ROS机器人室内定位系统设计》等论文数十篇。 胡书敏,大连理工大学计算机硕士,有15年Java开发经验,资深Java架构师,目前在SAP从事Java开发工作,有平安、花旗和IBM等大厂的工作经验,同时还有近8年Java技术面试官的经验。出版过《Java Web轻量级开发面试教程》《Java核心技术及面试指南》《Spring Cloud实战》等技术图书。
-
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥12.8¥32.0 -
AI绘画+AI摄影+AI短视频从入门到精通
¥45.5¥79.8 -
企业AI之旅
¥43.5¥79.0 -
机器学习
¥59.4¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
软件设计的哲学(第2版)
¥51.0¥69.8 -
智能算法优化及其应用
¥52.4¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥62.3¥89.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥67.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
人工智能
¥29.4¥42.0 -
中文版PHOTOSHOP 2024+AI修图入门教程
¥59.3¥79.0 -
WPS办公软件应用
¥25.2¥36.0 -
格拉斯曼流行学习及其在图像集分类中的应用
¥13.7¥28.0 -
轻松上手AIGC:如何更好地向CHATGPT提问
¥40.3¥62.0 -
元宇宙的理想与现实:数字科技大成的赋能与治理逻辑
¥61.6¥88.0 -
云原生安全:攻防与运营实战
¥66.8¥89.0