Spring Boot 從入門到實戰

Spring Boot 從入門到實戰

作者: 解承凱
出版社: 機械工業
出版在: 2021-07-01
ISBN-13: 9787111686552
ISBN-10: 7111686551
裝訂格式: 平裝
總頁數: 220 頁





內容描述


本書從Spring Boot的特性與基本原理講起,逐步深入到Spring Boot與其他微服務開發組件的集成使用,
並在後面配合實際項目案例,重點講解Spring Boot的微服務開發,能夠讓讀者全面、
系統地學習Spring Boot開發的相關知識,並且對微服務應用開發有更深入的理解。
本書共12章,
涵蓋的主要內容有:Spring Boot框架基礎,以及IoC與AOP原理;Spring MVC知識;Spring Boot搭建與配置;
Spring Boot數據訪問,包括MySQL、Redis和MongoDB等;配置中心與服務發現,重點講解Nacos等中間件;
服務限流與降級,包括Sentinel等;全鏈路追踪系統;微服務監控,講解了Spring Boot Actuator;
Spring Cloud Gateway提供了API網關相關斷言;Spring Boot測試與部署;
Spring Boot微服務開發和Spring WebFlux實戰開發,全面的展示了微服務開發過程。
本書內容通俗易懂,案例豐富,實用性強,特別適合Spring Boot入門讀者和進階讀者閱讀,
也適合從事JAVA微服務開發的程序員或其他編程愛好者閱讀。
另外,本書也適合作為相關培訓機構的教材使用。


目錄大綱


前言
第1章 Spring框架基礎 1
1.1 Spring簡介 1
1.1.1 Spring的發展歷史 1
1.1.2 Spring的特性 2
1.1.3 Spring的體系結構 3
1.2 控制反轉 6
1.2.1 IoC和DI簡介 6
1.2.2 元數據配置 7
1.2.3 Bean管理 12
1.3 面向切面編程 14
1.3.1 代理模式 14
1.3.2 AOP中的術語 18
1.3.3 @AspectJ註解 20
1.3.4 基於XML配置的AOP 21
1.3.5 基於@Aspect註解的AOP 23
1.4 總結 25
第2章 Spring MVC基礎 26
2.1 Spring MVC簡介 26
2.1.1 Spring MVC的工作流程 26
2.1.2 DispatcherServlet類 27
2.1.3 HandlerInterceptor攔截器 29
2.2 Spring MVC註解 30
2.2.1 請求註解 30
2.2.2 參數註解 31
2.2.3 異常註解 32
2.2.4 跨域註解 32
2.2.5 請求跳轉 33
2.3 總結 34
第3章 Spring Boot基礎 35
3.1 Spring Boot簡介 35
3.1.1 Spring Boot的特性 35
3.1.2 快速創建Spring Boot應用 36
3.1.3 Spring Boot Starter簡介 37
3.2 Spring Boot的運行原理 40
3.2.1 SpringApplication啟動類 40
3.2.2 @SpringBootApplication註解 44
3.3 Spring Boot的配置文件 45
3.3.1 默認配置文件 45
3.3.2 多環境配置 46
3.3.3 配置註解 46
3.4 測試與部署 48
3.4.1 測試 48
3.4.2 打包 49
3.5 總結 50
第4章 Spring Boot之數據訪問 51
4.1 訪問SQL數據庫 51
4.1.1 JdbcTemplate模板類 51
4.1.2 Spring Data JPA組件 56
4.1.3 Spring Boot集成MyBatis 59
4.2 訪問NoSQL數據庫 61
4.2.1 訪問Redis 61
4.2.2 訪問MongoDB 63
4.3 Caching緩存 64
4.3.1 訪問EhCache 64
4.3.2 訪問Couchbase 65
4.4 遠程調用 66
4.4.1 調用RestTemplate 66
4.4.2 調用WebClient 67
4.5 總結 69
第5章 配置中心與服務發現 70
5.1 配置中心組件 70
5.1.1 XXL-CONF組件簡介 70
5.1.2 Apollo組件簡介 75
5.1.3 Spring Cloud Config組件簡介 78
5.2 服務註冊與發現 81
5.2.1 Eureka組件簡介 81
5.2.2 Consul組件簡介 82
5.3 Nacos組件 84
5.3.1 Nacos組件簡介 84
5.3.2 快速搭建Nacos 86
5.3.3 Spring Boot集成Nacos 87
5.3.4 Spring Cloud集成Nacos 89
5.4 總結 91
第6章 服務限流與降級 92
6.1 限流 92
6.1.1 限流的原理 92
6.1.2 限流示例 94
6.2 Hystrix組件 95
6.2.1 Hystrix組件簡介 95
6.2.2 Hystrix原理 98
6.2.3 Hystrix示例 99
6.3 Sentinel組件 99
6.3.1 Sentinel組件簡介 100
6.3.2 Sentinel的原理 102
6.3.3 快速搭建Sentinel Dashboard 103
6.3.4 Spring Boot集成Sentinel 107
6.4 Nacos集成Sentinel配置 108
6.5 總結 109
第7章 全鏈路追踪系統 110
7.1 全鏈路追踪系統簡介 110
7.1.1 基本特性 110
7.1.2 基本概念 111
7.2 開源的全鏈路追踪系統 113
7.2.1 Dapper簡介 113
7.2.2 Zipkin簡介 114
7.2.3 Pinpoint簡介 114
7.2.4 Skywalking簡介 115
7.2.5 開源的全鏈路追踪系統比較 116
7.3 全鏈路追踪系統實踐 117
7.3.1 Zipkin實踐 117
7.3.2 Skywalking實踐 119
7.4 總結 120
第8章 微服務監控管理 121
8.1 Spring Boot Actuator組件 121
8.1.1 Endpoints組件簡介 121
8.1.2 自定義端點 123
8.2 Micrometer工具 124
8.2.1 Micrometer工具簡介 124
8.2.2 Spring Boot集成 126
8.3 Prometheus工具 127
8.3.1 Prometheus工具簡介 127
8.3.2 快速搭建Prometheus 129
8.4 Grafana工具 132
8.4.1 Grafana的安裝 132
8.4.2 Grafana集成Prometheus 133
8.5 總結 136
第9章 Spring Cloud網關 137
9.1 API網關 137
9.1.1 網關簡介 137
9.1.2 網關示例 139
9.2 核心配置 139
9.2.1 Route Predicate配置 140
9.2.2 GatewayFilter配置 143
9.2.3 全局配置 147
9.3 總結 148
第10章 Spring Boot測試與部署 149
10.1 Spring Boot測試 149
10.1.1 Spring Boot測試簡介 149
10.1.2 核心註解 150
10.2 Spring Boot部署 155
10.2.1 JAR包部署 155
10.2.2 Docker部署 156
10.3 總結 156
第11章 Spring Boot微服務開發實例 157
11.1 項目描述 157
11.1.1 項目需求 157
11.1.2 需求分析 158
11.2 數據結構 158
11.2.1 MySQL數據結構 158
11.2.2 Redis數據結構 159
11.3 項目開發 160
11.3.1 後台接口管理項目 160
11.3.2 促銷活動微服務項目 177
11.3.3 網關項目 182
11.3.4 項目部署 185
11.4 總結 185
第12章 Reactive Web開發實戰 186
12.1 Reactive編程 186
12.1.1 響應式宣言 186
12.1.2 Reactive編程簡介 187
12.1.3 Reactive Streams標準 187
12.1.4 Java Flow API簡介 188
12.2 Spring WebFlux框架 192
12.2.1 Spring WebFlux簡介 192
12.2.2 Mono類 193
12.2.3 Flux類 194
12.2.4 Spring WebFlux示例 196
12.3 Spring WebFlux實戰 197
12.4 總結 210


作者介紹


解承凱現任職於北京愛奇藝公司,從事高並發接口編程工作。
有多年的Java應用開發經驗和微服務編程經驗,熟悉微服務治理等相關技術,經歷了從Spring 4到Spring 5的發展過程,對Spring Cloud及Spring Boot等流行框架有較為深入的研究。




相關書籍

Modern Java in Action: Lambda, streams, functional and reactive programming, 2/e

作者 Raoul-Gabriel Urma Mario Fusco Alan Mycroft

2021-07-01

Spring Boot 從入門到實戰

作者 章為忠

2021-07-01

WPF 編程寶典 -- 使用 C# 2012 和 .NET 4.5 (第4版) (Pro WPF in C# 2012: Windows Presentation Foundation in .NET 4.5)

作者 麥克唐納 (Matthew MacDonald)

2021-07-01