Spring Boot+Spring Cloud微服務(wù)開發(fā)實(shí)戰(zhàn)
定 價(jià):79 元
- 作者:曹軍
- 出版時(shí)間:2020/5/1
- ISBN:9787115531803
- 出 版 社:人民郵電出版社
- 中圖法分類:TP368.5
- 頁碼:396
- 紙張:
- 版次:01
- 開本:16開
當(dāng)前互聯(lián)網(wǎng)在Web框架上已經(jīng)發(fā)展到微服務(wù)體系架構(gòu)。為了幫助廣大開發(fā)人員快速開展微服務(wù)開發(fā),《Spring Boot+Spring Cloud微服務(wù)開發(fā)實(shí)戰(zhàn)》主要從Web網(wǎng)站開發(fā)的基礎(chǔ)知識、Spring Boot相關(guān)知識、Spring Cloud相關(guān)知識,以及微服務(wù)開發(fā)實(shí)戰(zhàn)4個(gè)方面,系統(tǒng)地介紹微服務(wù)框架中常用的知識點(diǎn)、常用組件,以及程序案例。本書大多章節(jié)都先通過一個(gè)入門案例引導(dǎo)開發(fā)人員快速了解相關(guān)組件的功能,在此基礎(chǔ)上再對每個(gè)知識點(diǎn)進(jìn)行理論講解與剖析,最后對該組件進(jìn)行源碼分析,幫助開發(fā)人員更加深入地了解每個(gè)組件的底層原理,以便更好
地進(jìn)行二次開發(fā)。
本書既是初學(xué)者學(xué)習(xí)微服務(wù)開發(fā)的技術(shù)寶典,又是中級開發(fā)人員了解微服務(wù)體系底層原理的手冊。
·系統(tǒng)深入:由淺入深,詳細(xì)介紹微服務(wù)相關(guān)知識,依次擊破操作難點(diǎn)
·快速進(jìn)階:通過基本知識,引出進(jìn)階知識,進(jìn)一步提升開發(fā)技術(shù)
·案例豐富:每章列舉多個(gè)案例,在實(shí)戰(zhàn)中學(xué)習(xí),增加實(shí)戰(zhàn)經(jīng)驗(yàn)
·框架截圖:方便重現(xiàn)代碼示例
曹 軍
主要研究領(lǐng)域:分布式開發(fā)、大數(shù)據(jù)中臺、微服務(wù)框架等。有著多年的IT 一線從業(yè)經(jīng)
驗(yàn),在多個(gè)分布式開發(fā)項(xiàng)目中擔(dān)任項(xiàng)目負(fù)責(zé)人和技術(shù)架構(gòu)師,熟悉各種主流框架,對分布式開發(fā)有著深刻的理解,擅長分布式開發(fā)框架的搭建及優(yōu)化,以及高并發(fā)場景的處理。在互聯(lián)網(wǎng)技術(shù)實(shí)踐過程中,積累了豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。
第 1篇 Web基礎(chǔ)知識
第 1章 認(rèn)識微服務(wù)03
1.1 什么是微服務(wù)框架 03
1.2 互聯(lián)網(wǎng)框架的演變 04
1.2.1 ORM框架 05
1.2.2 MVC框架 06
1.2.3 RPC框架 07
1.2.4 SOA框架 09
1.3 模塊的拆分 09
1.3.1 拆分中的問題 10
1.3.2 拆分原則 10
1.4 當(dāng)前主流微服務(wù)框架 12
1.4.1 Dubbo簡介 12
1.4.2 Spring Cloud簡介 13
1.4.3 HTTP與RPC簡介 14
1.4.4 Spring Boot與Spring Cloud的關(guān)系 15
第 2章 快速搭建一個(gè)微服務(wù)框架16
2.1 Spring Boot框架搭建 16
2.1.1 使用STS搭建開發(fā)環(huán)境 16
2.1.2 使用IntelliJ IDEA搭建開發(fā)環(huán)境 19
2.2 實(shí)現(xiàn)安全登錄的微服務(wù)框架 21
2.2.1 功能描述與最終目標(biāo) 22
2.2.2 功能結(jié)構(gòu) 22
2.3 微服務(wù)框架搭建 23
2.3.1 搭建模塊 23
2.3.2 啟動(dòng)Demo 31
2.3.3 打包發(fā)布 34
第3章 Restful風(fēng)格的編程 36
3.1 Restful 簡介 36
3.2 查詢用戶以及用戶詳情 37
3.2.1 編寫測試類程序 37
3.2.2 常用注解 40
3.2.3 查詢用戶詳情 47
3.3 處理創(chuàng)建請求 50
3.3.1 @RequestBody注解 51
3.3.2 日期類型的處理 52
3.3.3 @Valid注解 54
3.3.4 BindingResult驗(yàn)證參數(shù)合法性 55
3.4 用戶信息修改與刪除 56
3.4.1 用戶信息修改 56
3.4.2 用戶信息刪除 58
第 2篇 Spring Boot
第4章 Spring Boot中的IOC 61
4.1 IOC原理簡介 61
4.1.1 IOC小案例 61
4.1.2 IOC簡介 64
4.2 裝配Bean 67
4.2.1 @ComponentScan簡介 67
4.2.2 @ComponentScan使用實(shí)例 69
4.3 依賴注入ID 75
4.3.1 常用注解 75
4.3.2 @Autowired 注解 76
4.4 Bean 的生命周期 82
4.4.1 Bean 的初始化過程 82
4.4.2 Bean 的延遲初始化 85
4.4.3 Bean 的生命周期 86
4.5 配置文件90
4.5.1 配置文件的使用方式 90
4.5.2 Yml 配置文件的使用 95
第5章 Spring Boot 中的AOP 97
5.1 AOP 簡介 97
5.1.1 AOP 小案例 97
5.1.2 AOP 術(shù)語 101
5.2 AOP 開發(fā)詳解 102
5.2.1 連接點(diǎn)與兩種代理 102
5.2.2 切面 106
5.2.3 切點(diǎn) 107
5.2.4 多切面與@Order 111
5.3 AOP 原理 114
5.3.1 AOP 代理原理講解 114
5.3.2 ProxyCreatorSupport 核心代理類 116
5.3.3 通知和通知器 118
5.4 AOP 后置處理器 120
5.4.1 AnnotationAwareAspectJAutoProxyCreator 方式 120
5.4.2 后置處理器的注冊 122
5.4.3 后置處理器處理@Aspect 的Bean 123
第6章 Spring Boot 中的數(shù)據(jù)源 125
6.1 配置數(shù)據(jù)源 125
6.1.1 默認(rèn)數(shù)據(jù)源 125
6.1.2 自定義數(shù)據(jù)源 126
6.2 JdbcTemplate 的使用 131
6.2.1 JdbcTemplate 實(shí)例 131
6.2.2 JdbcTemplate 原理說明 134
6.3 JPA 的使用 135
6.3.1 JPA 概述 135
6.3.2 JPA 使用實(shí)例135
6.4 Spring Boot 與MyBatis 集成 140
6.4.1 MyBatis 原理 140
6.4.2 Spring Boot 與MyBatis 集成 141
第7章 Spring Boot 中的事務(wù) 148
7.1 隔離級別148
7.1.1 數(shù)據(jù)庫的隔離級別 148
7.1.2 Spring Boot 中的隔離級別 151
7.2 聲明式事務(wù) 152
7.2.1 @Transaction 注解 152
7.2.2 事務(wù)管理器 153
7.3 JPA 下的事務(wù) 155
7.3.1 普通的數(shù)據(jù)庫訪問 155
7.3.2 事務(wù) 159
7.4 JDBC 下的事務(wù) 161
7.5 事務(wù)傳播行為 164
第8章 Spring Boot 中的Redis 167
8.1 Redis 的簡單使用 167
8.1.1 Spring-boot-starter-data-redis 介紹 167
8.1.2 Redis 的使用 168
8.1.3 使用配置類建立Redis 工廠 170
8.2 對Redis 數(shù)據(jù)類型的操作 172
8.2.1 StringRedisTemplate 的使用 172
8.2.2 模板template 175
8.2.3 數(shù)據(jù)類型的操作 177
8.3 序列化 181
8.3.1 序列化實(shí)例 181
8.3.2 序列化講解 185
8.4 緩存 186
8.4.1 緩存的使用 186
8.4.2 緩存的注解 191
第9章 Spring Boot 中的Security 200
9.1 基本原理200
9.1.1 默認(rèn)安全登錄 201
9.1.2 Security 原理說明 202
9.2 自定義用戶認(rèn)證邏輯 204
9.2.1 處理用戶獲取邏輯 204
9.2.2 處理用戶校驗(yàn)邏輯 206
9.2.3 密碼加密與解密 208
9.3 自定義用戶認(rèn)證流程 210
9.3.1 自定義登錄頁面 210
9.3.2 優(yōu)化自定義登錄頁面 213
9.3.3 登錄成功之后的處理 218
9.3.4 登錄失敗之后的處理 220
第3篇 Spring Cloud
第 10章 服務(wù)治理Spring Cloud Eureka 225
10.1 Eureka 快速入門 225
10.1.1 服務(wù)治理 225
10.1.2 Eureka 的服務(wù)治理 227
10.1.3 Eureka 的服務(wù)注冊中心搭建 228
10.1.4 Eureka 的服務(wù)提供者 232
10.1.5 Eureka Server 的高可用 235
10.2 Eureka 的消費(fèi) 237
10.2.1 RestTemplate 直接調(diào)用 237
10.2.2 LoadBalancerClient 調(diào)用 239
10.2.3 @LoadBalanced 注解 240
10.3 Eureka 原理詳解 241
10.3.1 基礎(chǔ)框架 241
10.3.2 機(jī)制 242
10.4 進(jìn)階配置項(xiàng)說明 244
10.4.1 服務(wù)注冊類的配置 244
10.4.2 服務(wù)實(shí)例類的配置 246
10.4.3 服務(wù)注冊中心配置 248
10.4.4 服務(wù)注冊中心儀表盤配置 249
10.5 Eureka 源碼分析 249
10.5.1 DiscoveryClient 實(shí)例 250
10.5.2 服務(wù)發(fā)現(xiàn) 251
第 11章 負(fù)載均衡Spring Cloud Ribbon 254
11.1 Ribbon 使用 254
11.1.1 客戶端負(fù)載均衡 254
11.1.2 Ribbon 實(shí)例 255
11.1.3 Ribbon 用法總結(jié) 258
11.2 RestTemplate 的詳細(xì)使用方法 259
11.2.1 RestTemplate 功能 259
11.2.2 GET 請求API 261
11.2.3 POST 請求API 265
11.2.4 PUT 請求API 271
11.2.5 DELETE 請求API 271
11.3 Ribbon 的負(fù)載均衡入口 272
11.4 Ribbon 的負(fù)載均衡器 274
11.4.1 AbstractLoadBalancer 類 274
11.4.2 BaseLoadBalancer 類 275
11.4.3 DynamicServerListLoadBalancer 類 277
11.4.4 服務(wù)注冊 282
第 12章 聲明式服務(wù)調(diào)用Spring Cloud Feign 285
12.1 Feign 的使用實(shí)例 285
12.1.1 Feign 演示實(shí)例 285
12.1.2 Feign 與Spring MVC 290
12.2 Feign 中Ribbon 的配置 294
12.2.1 全局配置與指定服務(wù)的配置 294
12.2.2 重試機(jī)制 295
12.3 Feign 的配置 296
12.3.1 日志配置 296
12.3.2 其他配置 298
12.3.3 自定義配置 299
第 13章 服務(wù)容錯(cuò)保護(hù)Spring Cloud Hystrix 303
13.1 Hystrix 的使用 303
13.1.1 服務(wù)降級 303
13.1.2 超時(shí)設(shè)置 308
13.1.3 服務(wù)熔斷 313
13.2 Hystrix 的原理 314
13.2.1 Hystrix 產(chǎn)生背景 315
13.2.2 Hystrix 實(shí)現(xiàn)原理 316
13.3 Hystrix 的應(yīng)用 318
13.3.1 Hystrix 工作流程 318
13.3.2 自定義使用Hystrix 320
13.4 Hystrix 的配置 322
13.4.1 屬性配置說明 322
13.4.2 屬性配置 323
13.4.3 Command 屬性 325
第 14章 配置中心Spring Cloud Config 328
14.1 Config 的原理 328
14.2 Config 的服務(wù)端使用 329
14.2.1 搭建配置中心 329
14.2.2 配置中心測試 333
14.2.3 本地Git 336
14.3 Config 的客戶端使用 337
14.3.1 配置客戶端 337
14.3.2 客戶端測試 338
14.3.3 Config 的高可用性 340
14.4 Config 的知識點(diǎn) 341
14.4.1 Config 的Git 介紹 341
14.4.2 動(dòng)態(tài)刷新配置 342
第 15章 網(wǎng)關(guān)Spring Cloud Zuul 343
15.1 Zuul 路由 343
15.1.1 基本的網(wǎng)關(guān)功能 343
15.1.2 自定義路由 348
15.1.3 Cookie 頭信息控制 349
15.2 Zuul 請求過濾 351
15.2.1 應(yīng)用場景 351
15.2.2 鑒權(quán) 352
15.2.3 限流 355
15.3 Zuul 其他知識點(diǎn) 356
15.3.1 過濾器 356
15.3.2 高可用 356
第4篇 微服務(wù)開發(fā)實(shí)戰(zhàn)
第 16章 點(diǎn)餐管理系統(tǒng)實(shí)戰(zhàn)359
16.1 點(diǎn)餐管理系統(tǒng)框架說明 359
16.1.1 系統(tǒng)使用的技術(shù) 359
16.1.2 系統(tǒng)功能模塊 361
16.1.3 系統(tǒng)搭建 361
16.2 點(diǎn)餐管理系統(tǒng)框架設(shè)計(jì) 372
16.2.1 具體需求分析 372
16.2.2 數(shù)據(jù)庫設(shè)計(jì) 372
16.2.3 對外接口設(shè)計(jì) 373
16.3 商品模塊開發(fā) 374
16.3.1 基本的準(zhǔn)備工作 374
16.3.2 接口開發(fā) 376
16.3.3 封裝Restful 接口 379
16.3.4 Restful 接口測試 380
16.4 訂單模塊開發(fā) 382
16.4.1 基本的準(zhǔn)備工作 382
16.4.2 接口開發(fā) 384
16.4.3 封裝Restful 接口 386
16.4.4 Restful 接口測試 386
第 17章 圖書管理系統(tǒng)實(shí)戰(zhàn)387
17.1 圖書管理系統(tǒng)框架說明 387
17.1.1 需求分析 387
17.1.2 技術(shù)說明 388
17.2 圖書管理系統(tǒng)框架設(shè)計(jì) 388
17.2.1 數(shù)據(jù)庫設(shè)計(jì) 388
17.2.2 接口設(shè)計(jì) 389
17.2.3 環(huán)境搭建 390
17.3 借閱模塊開發(fā) 393
17.3.1 實(shí)體類 394
17.3.2 Repository 接口 394
17.3.3 Service 層 395
17.3.4 Controller 層 395
17.3.5 接口測試 395