一步一步学Spring Boot 微服务项目实战 第2版

本书特色

[

本书深入浅出地介绍了Spring Boot 2.x在Web应用开发中的各种技术。全书共21章,第1章由零开始,引导读者快速搭建Spring Boot开发环境,为之后Spring Boot的探险之旅奠定基础。第2章、第3章、第10章和第13章介绍了Spring Boot的数据访问应用,包括Spring Boot集成Druid、Spring Data JPA和MyBatis以及快速访问MySQL和MongoDB数据库。第4~6章,介绍了Spring Boot集成Thymeleaf模板引擎、事务及拦截器和监听器的应用。第7~9章介绍Spring Boot使用Redis缓存和Quartz定时器、集成Log4J日志框架和发送Email邮件。第11~12章介绍Spring Boot集成ActiveMQ、异步调用和全局异常使用。第14~15章介绍Spring Boot应用监控和应用安全Security。第16~17章介绍Spring Boot微服务在Zookeeper中的注册、Dubbo的使用、多环境配置和使用以及在Tomcat中的部署应用。第18~20章主要探索Spring Boot的容器化、单元测试以及背后的原理和执行流程。第21章以秒杀系统为例,介绍Spring Boot在项目开发中的应用。 本书既介绍了Spring Boot背后的原理和执行流程,又突出了Spring Boot与各种热点技术的整合应用,适用于所有Java编程语言开发人员、Spring Boot开发爱好者以及计算机专业的学生等,也很适合作为培训机构与大专院校的教学用书。

]

内容简介

[

本书是一本突出实战的Spring Boot 2.x专业著作,由一线知名互联网公司资深开发工程师精心编写。
本书从零开始,引导读者循序渐进地掌握Spring Boot在Web开发中的各种技术,既注重基础、Spring Boot背后
的原理和执行流程,又突出Spring Boot与各种热点技术的整合应用,如Spring Boot集成MyBatis、ActiveMQ、MongoDB、Redis缓存、Zookeeper、Log4J日志等。此外,还介绍了微服务的多环境配置与部署、微服务的容
器化、微服务测试等当前微服务开发中的**技术,本书*后还给出了一个高并发秒杀系统的开发项目。
本书的目标不仅仅使读者掌握Spring Boot的使用,同时能够掌握在Spring Boot的基础上整合各种流行技术开发
自己的Web应用。

]

作者简介

[

黄文毅 CSDN博客专家,高级软件工程师。先后就职于厦门星耀蓝图、上海美团等科技公司,目前就职于厦门美图科技有限公司,从事Java开发工作。具有丰富的软件开发经验,熟悉Java、高并发、大数据及相关软件架构。出版《公布式微服务架构:原理与实践》《Spring 5企业级开发实战》(与人合著)《Spring MVC MyBatis快速开发与项目实战》等多部技术图书。

]

目录

目 录
第1章 **个Spring Boot项目 1
1.1 Spring Boot开发环境准备 1
1.1.1 安装JDK 1
1.1.2 安装Intellij IDEA 3
1.1.3 安装Apache Maven 3
1.2 一分钟快速搭建Spring Boot项目 5
1.2.1 使用Spring Initializr新建项目 5
1.2.2 测试 7
1.2.3 Spring Boot三种启动方式 8
1.3 Spring Boot文件目录介绍 9
1.3.1 工程目录 9
1.3.2 入口类 10
1.3.3 测试类 11
1.3.4 pom文件 12
1.4 Spring Boot 2.x新特性 14
1.4.1 配置变更 14
1.4.2 第三方类库升级 14
1.4.3 HTTP/2支持 14
1.4.4 响应式Spring编程支持 14
1.4.5 其他新特性 15
1.5 Maven Helper插件的安装和使用 15
1.5.1 Maven Helper插件安装 15
1.5.2 Maven Helper插件使用 16
1.6 思考题 16
第2章 集成MySQL数据库 18
2.1 MySQL介绍与安装 18
2.1.1 MySQL概述 18
2.1.2 MySQL安装 18
2.2 集成MySQL数据库 19
2.2.1 引入依赖 20
2.2.2 添加数据库配置 20
2.2.3 设计表和实体 20
2.3 集成测试 22
2.3.1 测试用例开发 22
2.3.2 测试 23
2.3.3 Navicat for MySQL客户端安装与使用 23
2.3.4 Intellij IDEA连接MySQL 24
2.4 集成Druid 25
2.4.1 Druid概述 25
2.4.2 引入依赖 26
2.4.3 Druid配置 26
2.4.4 开启监控功能 27
2.4.5 测试 29
2.5 HikariCP连接池 29
2.5.1 HikariCP概述 29
2.5.2 HikariCP的使用 30
第3章 集成Spring Data JPA 32
3.1 Spring Data JPA介绍 32
3.1.1 Spring Data JPA介绍 32
3.1.2 核心接口Repository 33
3.1.3 接口继承关系图 34
3.2 集成Spring Data JPA 34
3.2.1 引入依赖 34
3.2.2 继承JpaRepository 35
3.2.3 服务层类实现 37
3.2.4 增删改查分页简单实现 39
3.2.5 自定义查询方法 40
3.3 集成测试 42
3.3.1 测试用例开发 42
3.3.2 测试 43
3.4 思考题 43
第4章 Thymeleaf模板引擎与集成测试 44
4.1 Thymeleaf模板引擎介绍 44
4.2 使用Thymeleaf模板引擎 45
4.2.1 引入依赖 45
4.2.2 控制层开发 46
4.2.3 Thymeleaf模板页面开发 47
4.3 集成测试 48
4.3.1 测试 48
4.3.2 REST Client工具介绍 49
4.3.3 使用REST Client测试 49
第5章 Spring Boot事务支持 50
5.1 Spring事务介绍 50
5.1.1 Spring事务回顾 50
5.1.2 Spring声明式事务 51
5.1.3 Spring注解事务行为 51
5.2 Spring Boot事务使用 53
5.2.1 Spring Boot事务介绍 53
5.2.2 类级别事务 53
5.2.3 方法级别事务 54
5.2.4 测试 55
5.3 思考题 56
第6章 使用过滤器和监听器 57
6.1 Spring Boot使用过滤器Filter 57
6.1.1 过滤器Filter介绍 57
6.1.2 过滤器Filter的使用 58
6.1.3 测试 60
6.2 Spring Boot使用监听器Listener 60
6.2.1 监听器Listener介绍 60
6.2.2 监听器Listener的使用 61
6.2.3 测试 62
第7章 集成Redis缓存 63
7.1 Redis缓存介绍 63
7.1.1 Redis概述 63
7.1.2 Redis服务器安装 63
7.1.3 Redis缓存测试 65
7.2 Spring Boot集成Redis缓存 71
7.2.1 Spring Boot缓存支持 71
7.2.2 引入依赖 71
7.2.3 添加缓存配置 72
7.2.4 测试用例开发 72
7.2.5 测试 73
7.3 Redis缓存在Spring Boot中的使用 74
7.3.1 监听器Listener开发 74
7.3.2 项目启动缓存数据 76
7.3.3 更新缓存数据 76
7.3.4 测试 77
第8章 集成Log4J日志 79
8.1 Log4J概述 79
8.2 集成Log4J2 81
8.2.1 引入依赖 81
8.2.2 添加Log4J配置 82
8.2.3 创建log4j2.xml文件 82
8.3 使用Log4J记录日志 83
8.3.1 打印到控制台 83
8.3.2 记录到文件 84
8.3.3 测试 86
8.4 思考题 87
第9章 Quartz定时器和发送Email 88
9.1 使用Quartz定时器 88
9.1.1 Quartz概述 88
9.1.2 引入依赖 90
9.1.3 定时器配置文件 90
9.1.4 创建定时器类 92
9.1.5 Spring Boot扫描配置文件 94
9.1.6 测试 94
9.2 Spring Boot发送Email 94
9.2.1 Email介绍 94
9.2.2 引入依赖 95
9.2.3 添加Email配置 95
9.2.4 在定时器中发送邮件 96
9.2.5 测试 99
第10章 集成MyBatis 100
10.1 MyBatis介绍 100
10.2 集成MyBatis的步骤 100
10.2.1 引入依赖 100
10.2.2 添加MyBatis配置 101
10.2.3 Dao层和Mapper文件开发 101
10.2.4 测试 104
第11章 异步消息与异步调用 106
11.1 JMS消息概述 106
11.2 Spring Boot集成ActiveMQ 107
11.2.1 ActiveMQ概述 107
11.2.2 ActiveMQ的安装 108
11.2.3 引入依赖 109
11.2.4 添加ActiveMQ配置 109
11.3 使用ActiveMQ 110
11.3.1 创建生产者 110
11.3.2 创建消费者 113
11.3.3 测试 114
11.4 Spring Boot异步调用 118
11.4.1 异步调用概述 118
11.4.2 @Async使用 118
11.4.3 测试 119
第12章 全局异常处理与Retry重试 122
12.1 全局异常介绍 122
12.2 Spring Boot全局异常使用 123
12.2.1 自定义错误页面 123
12.2.2 测试 124
12.2.3 全局异常类开发 124
12.2.4 测试 127
12.3 Retry重试机制 127
12.3.1 Retry重试概述 127
12.3.2 Retry重试机制使用 128
12.3.3 测试 130
第13章 集成MongoDB数据库 131
13.1 MongoDB数据库介绍 131
13.1.1 MongoDB的安装 131
13.1.2 NoSQL Manager for MongoDB客户端的使用 133
13.2 集成MongoDB 134
13.2.1 引入依赖 134
13.2.2 添加MongoDB配置 134
13.2.3 连接MongoDB 135
13.2.4 测试 137
第14章 集成Spring Security 138
14.1 Spring Security概述 138
14.2 集成Spring Security的步骤 139
14.2.1 引入依赖 139
14.2.2 配置Spring Security 140
14.2.3 测试 142
14.2.4 数据库用户授权登录 142
14.2.5 测试 149
第15章 Spring Boot应用监控 150
15.1 应用监控介绍 150
15.2 使用监控 151
15.2.1 引入依赖 151
15.2.2 添加配置 151
15.2.3 测试 152
15.3 自定义端点 155
15.3.1 自定义端点EndPoint 155
15.3.2 测试 156
15.3.3 自定义HealthIndicator 157
15.3.4 测试 160
15.4 保护Actuator端点 161
第16章 集成Dubbo和Zookeeper 163
16.1 Zookeeper的介绍与安装 163
16.1.1 Zookeeper概述 163
16.1.2 Zookeeper的安装与启动 164
16.2 Spring Boot集成Dubbo 165
16.2.1 Dubbo概述 165
16.2.2 服务与接口拆分思路 167
16.2.3 服务与接口拆分实践 167
16.2.4 正式版发布 171
16.2.5 Service服务端开发 172
16.2.6 Service服务注册 173
16.2.7 Client客户端开发 174
第17章 多环境配置与部署 175
17.1 多环境配置概述 175
17.2 多环境配置的使用 177
17.2.1 添加多个配置文件 177
17.2.2 配置激活选项 177
17.2.3 测试 178
17.3 自定义属性与加载 179
17.3.1 自定义属性 179
17.3.2 参数间的引用 181
17.3.3 使用随机数 182
17.4 部署 184
17.4.1 Spring Boot内置Tomcat 184
17.4.2 Intellij IDEA配置Tomcat 185
17.4.3 war包部署 187
17.4.4 测试 187
17.5 热部署 188
17.6 思考题 189
第18章 微服务容器化 191
18.1 Docker概述 191
18.1.1 Docker的优势 191
18.1.2 Docker的基本概念 193
18.1.3 Docker架构 194
18.1.4 Docker的安装 195
18.2 Docker的常用命令 198
18.3 制作与自动化构建镜像 205
18.3.1 制作镜像 205
18.3.2 使用Dockerfile构建镜像 208
18.4 Spring Boot集成Docker 212
第19章 微服务测试 217
19.1 Spring Boot单元测试 217
19.1.1 关于测试 217
19.1.2 微服务测试 218
19.2 Spring Boot单元测试 220
19.3 Mockito/PowerMockito测试框架 223
19.3.1 Mockito概述 223
19.3.2 Mockito简单实例 224
19.3.3 PowerMock概述 227
19.3.4 PowerMockito简单实例 228
19.4 H2内存型数据库 231
19.4.1 H2概述 231
19.4.2 Spring Boot集成H2 231
19.5 REST API测试 235
19.5.1 Postman概述 235
19.5.2 Postman的简单使用 235
19.6 性能测试 238
19.6.1 AB概述 238
19.6.2 AB测试 239
第20章 Spring Boot原理解析 241
20.1 回顾入口类 241
20.1.1 DemoApplication入口类 241
20.1.2 @SpringBootApplication的原理 242
20.1.3 SpringApplication的run方法 243
20.1.4 SpringApplicationRunListeners监听器 245
20.1.5 ApplicationContextInitializer接口 246
20.1.6 ApplicationRunner与CommandLineRunner 247
20.2 SpringApplication执行流程 248
20.3 spring-boot-starter原理 250
20.3.1 自动配置条件依赖 250
20.3.2 Bean参数获取 255
20.3.3 Bean的发现与加载 256
20.3.4 自定义starter 263
20.4 跨域访问 269
20.5 优雅关闭 270
20.5.1 Java优雅停机 270
20.5.2 Spring Boot优雅停机 273
20.6 将SSM/Maven项目改造为Spring Boot项目 276
20.6.1 创建Maven项目 276
20.6.2 **种改造方法 278
20.6.3 第二种改造方法 279
20.7 思考题 281
第21章 实战高并发秒杀系统 283
21.1 秒杀系统业务 283
21.1.1 什么是秒杀 283
21.1.2 秒杀系统的工作流程 284
21.2 秒杀系统的简单实现 284
21.2.1 创建Spring Boot项目 284
21.2.2 库表设计与Model实体类 285
21.2.3 集成MySQL和JPA 290
21.2.4 Service服务层的设计与开发 292
21.2.5 Controller控制层的设计与开发 295
21.2.6 前端页面的设计与开发 297
21.2.7 代码测试 300
21.2.8 总结 301
21.3 秒杀系统读优化 302
21.3.1 高并发读优化 302
21.3.2 使用Redis缓存 302
21.4 流量削峰 306
21.4.1 流量削峰的原因 306
21.4.2 集成ActiveMQ 306
21.4.3 生产者开发 307
21.4.4 消费者开发 308
21.5 业务优化 310
21.5.1 答题/验证码 310
21.5.2 分时分段 311
21.5.3 禁用秒杀按钮 311
21.6 降级、限流、拒绝服务 311
21.6.1 降级 311
21.6.2 限流 312
21.6.3 拒绝服务 312
21.7 避免单点 312
21.8 总结 313
参考文献 314

封面

一步一步学Spring Boot 微服务项目实战 第2版

书名:一步一步学Spring Boot 微服务项目实战 第2版

作者:黄文毅

页数:未知

定价:¥69.0

出版社:清华大学出版社

出版日期:2019-12-01

ISBN:9787302542483

PDF电子书大小:128MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注