商品簡介
本書從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微服務開發的程序員或其他編程愛好者閱讀。另外,本書也適合作為相關培訓機構的教材使用。
名人推薦
結合典型場景詳解Spring Boot核心技術,整合開源組件搭建微服務框架,實現微服務治理,60多個示例、2個案例
目次
前言
第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