Spring Boot + Spring Cloud 微服務開發實戰

曹軍

  • Spring Boot + Spring Cloud 微服務開發實戰-preview-1
  • Spring Boot + Spring Cloud 微服務開發實戰-preview-2
Spring Boot + Spring Cloud 微服務開發實戰-preview-1

買這商品的人也買了...

商品描述

當前因特網在Web框架上已經發展到微服務體系架構。
為了幫助廣大開發人員快速開展微服務開發,本書主要從Web網站開發的基礎知識、
Spring Boot相關知識、Spring Cloud相關知識,以及微服務開發實戰4個方面,
系統地介紹微服務框架中常用的知識點、常用組件,以及程序案例。
本書大多章節都先通過一個入門案例引導開發人員快速瞭解相關組件的功能,
在此基礎上再對每個知識點進行理論講解與剖析,*後對該組件進行源碼分析,
幫助開發人員更加深入地瞭解每個組件的底層原理,以便更好地進行二次開發。
本書既是初學者學習微服務開發的技術寶典,又是中級開發人員瞭解微服務體系底層原理的手冊。  

作者簡介

曹軍

主要研究領域:分佈式開發、大數據中台、微服務框架等。
有著多年的IT一線從業經驗,在多個分佈式開發項目中擔任項目負責人和技術架構師,
熟悉各種主流框架,對分佈式開發有著深刻的理解,擅長分佈式開發框架的搭建及優化,
以及高並發場景的處理。
在互聯網技術實踐過程中,積累了豐富的實戰經驗。  

目錄大綱

目錄:  
第1篇Web基礎知識  
第1章認識微服務03  
1.1什麼是微服務框架03  
1.2互聯網框架的演變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當前主流微服務框架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的關係15  

第2章快速搭建一個微服務框架16  
2.1 Spring Boot框架搭建16  
2.1.1使用STS搭建開發環境16  
2.1.2使用IntelliJ IDEA搭建開發環境19  
2.2實現安全登錄的微服務框架21  
2.2.1功能描述與*終目標22  
2.2.2功能結構22  
2.3微服務框架搭建23  
2.3.1搭建模塊23  
2.3.2啟動Demo 31  
2.3.3打包發布34  

第3章Restful風格的編程36  
3.1 Restful簡介36  
3.2查詢用戶以及用戶詳情37  
3.2.1編寫測試類程序37  
3.2.2常用註解40  
3.2.3查詢用戶詳情47  
3.3處理創建請求50  
3.3.1 @RequestBody註解51  
3.3.2日期類型的處理52  
3.3.3 @Valid註解54  
3.3. 4 BindingResult驗證參數合法性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使用實例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術語101  
5.2 AOP開發詳解102  
5.2.1連接點與兩種代理102  
5.2.2切面106  
5.2.3切點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中的數據源125  
6.1配置數據源125  
6.1.1默認數據源125  
6.1.2自定義數據源126  
6.2 JdbcTemplate的使用131  
6.2.1 JdbcTemplate實例131  
6.2.2 JdbcTemplate原理說明134  
6.3 JPA的使用135  
6.3.1 JPA概述135  
6.3.2 JPA使用實例135  
6.4 Spring Boot與MyBatis集成140  
6.4.1 MyBatis原理140  
6.4.2 Spring Boot與MyBatis集成141 
 
第7章Spring Boot中的事務148  
7.1隔離級別148  
7.1.1數據庫的隔離級別148  
7.1.2 Spring Boot中的隔離級別151  
7.2聲明式事務152  
7.2.1 @Transaction註解152  
7.2.2事務管理器153  
7.3 JPA下的事務155  
7.3.1普通的數據庫訪問155  
7.3.2事務159  
7.4 JDBC下的事務161  
7.5事務傳播行為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數據類型的操作172  
8.2.1 StringRedisTemplate的使用172  
8.2.2模板template 175  
8.2.3數據類型的操作177  
8.3序列化181  
8.3.1序列化實例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默認安全登錄201  
9.1.2 Security原理說明202  
9.2自定義用戶認證邏輯204  
9.2.1處理用戶獲取邏輯204  
9.2.2處理用戶校驗邏輯206  
9.2.3密碼加密與解密208  
9.3自定義用戶認證流程210  
9.3.1自定義登錄頁面210  
9.3.2優化自定義登錄頁面213  
9.3.3登錄成功之後的處理218  
9.3.4登錄失敗之後的處理220  

第3篇Spring Cloud  
第10章服務治理Spring Cloud Eureka 225  
10.1 Eureka快速入門225  
10.1.1服務治理225  
10.1.2 Eureka的服務治理227  
10.1.3 Eureka的服務註冊中心搭建228  
10.1.4 Eureka的服務提供者232  
10.1.5 Eureka Server的高可用235  
10.2 Eureka的消費237  
10.2.1 RestTemplate直接調用237  
10.2.2 LoadBalancerClient調用239  
10.2.3 @LoadBalanced註解240  
10.3 Eureka原理詳解241  
10.3.1基礎框架241  
10.3.2機制242  
10.4進階配置項說明244  
10.4.1服務註冊類的配置244  
10.4.2服務實例類的配置246  
10.4.3服務註冊中心配置248  
10.4.4服務註冊中心儀錶盤配置249  
10.5 Eureka源碼分析249  
10.5.1 DiscoveryClient實例250  
10.5.2服務發現251  

第11章負載均衡Spring Cloud Ribbon 254  
11.1 Ribbon使用254  
11.1.1客戶端負載均衡254  
11.1. 2 Ribbon實例255  
11.1.3 Ribbon用法總結258  
11.2 RestTemplate的詳細使用方法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的負載均衡入口272  
11.4 Ribbon的負載均衡器274  
11.4.1 AbstractLoadBalancer類274  
11.4.2 BaseLoadBalancer類275  
11.4.3 DynamicServerListLoadBalancer類277  
11.4.4服務註冊282  

第12章聲明式服務調用Spring Cloud Feign 285  
12.1 Feign的使用實例285  
12.1.1 Feign演示實例285  
12.1.2 Feign與Spring MVC 290  
12.2 Feign中Ribbon的配置294  
12.2.1全局配置與指定服務的配置294  
12.2.2重試機制295  
12.3 Feign的配置296  
12.3.1日誌配置296  
12.3.2其他配置298  
12.3.3自定義配置299
  
第13章服務容錯保護Spring Cloud Hystrix 303  
13.1 Hystrix的使用303  
13.1.1服務降級303  
13.1.2超時設置308  
13.1.3服務熔斷313  
13.2 Hystrix的原理314  
13.2.1 Hystrix產生背景315  
13.2.2 Hystrix實現原理316  
13.3 Hystrix的應用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的服務端使用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的知識點341  
14.4.1 Config的Git介紹341  
14.4.2動態刷新配置342  

第15章網關Spring Cloud Zuul 343  
15.1 Zuul路由343  
15.1.1基本的網關功能343  
15.1.2自定義路由348  
15.1.3 Cookie頭信息控制349  
15.2 Zuul請求過濾351  
15.2.1應用場景351  
15.2.2鑑權352  
15.2.3限流355  
15.3 Zuul其他知識點356  
15.3.1過濾器356  
15.3.2高可用356  

第4篇微服務開發實戰  
第16章點餐管理系統實戰359  
16.1點餐管理系統框架說明359  
16.1. 1系統使用的技術359  
16.1.2系統功能模塊361  
16.1.3系統搭建361  
16.2點餐管理系統框架設計372  
16.2.1具體需求分析372  
16.2.2數據庫設計372  
16.2.3對外接口設計373  
16.3商品模塊開發374  
16.3.1基本的準備工作374  
16.3.2接口開發376  
16.3.3封裝Restful接口379  
16.3.4 Restful接口測試380  
16.4訂單模塊開發382  
16.4.1基本的準備工作382  
16.4.2接口開發384  
16.4 .3封裝Restful接口386  
16.4.4 Restful接口測試386 
 
第17章圖書管理系統實戰387  
17.1圖書管理系統框架說明387  
17.1.1需求分析387  
17.1.2技術說明388  
17.2圖書管理系統框架設計388  
17.2.1數據庫設計388  
17.2.2接口設計389  
17.2.3環境搭建390  
17.3借閱模塊開發393  
17.3 .1實體類394  
17.3.2 Repository接口394  
17.3.3 Service層395  
17.3.4 Controller層395  
17.3.5接口測試395