歡迎光臨
每天分享高質量文章

閘道器 Spring-Cloud-Gateway 原始碼解析 —— 除錯環境搭建

本文主要基於 Spring-Cloud-Gateway 2.0.X M4

摘要: 原創出處 http://www.iocoder.cn/Spring-Cloud-Gateway/build-debugging-environment/ 「芋道原始碼」歡迎轉載,保留摘要,謝謝!

  • 1. 依賴工具

  • 2. 原始碼拉取

  • 3. 執行示例

  • 4. 彩蛋


友情提示:歡迎關註公眾號【芋道原始碼】。?關註後,拉你進【原始碼圈】微信群和【芋艿】搞基嗨皮。
友情提示:歡迎關註公眾號【芋道原始碼】。?關註後,拉你進【原始碼圈】微信群和【芋艿】搞基嗨皮。
友情提示:歡迎關註公眾號【芋道原始碼】。?關註後,拉你進【原始碼圈】微信群和【芋艿】搞基嗨皮。


1. 依賴工具

  • Maven ( >= 3.3.3 )

  • JDK

  • IntelliJ IDEA


推薦 Spring Cloud 書籍

  • 請支援正版。下載盜版,等於主動編寫低階 BUG 。

  • 程式猿DD —— 《Spring Cloud微服務實戰》

  • 周立 —— 《Spring Cloud與Docker微服務架構實戰》

  • 兩書齊買,京東包郵。

推薦 Spring Cloud 影片

  • Java 微服務實踐 – Spring Boot

  • Java 微服務實踐 – Spring Cloud

  • Java 微服務實踐 – Spring Boot / Spring Cloud

2. 原始碼拉取

從官方倉庫 https://github.com/spring-cloud/spring-cloud-gateway.git Fork 出屬於自己的倉庫。為什麼要 Fork ?既然開始閱讀、除錯原始碼,我們可能會寫一些註釋,有了自己的倉庫,可以進行自由的提交。?

使用 IntelliJ IDEA 從 Fork 出來的倉庫拉取程式碼。

如果 master 分支處於 1.x 版本,請使用 IntelliJ IDEA 切換到 2.0.X 分支。

在專案路徑下,在命令列執行 mvn package -Dmaven.test.skip=true 命令,Maven 會下載依賴包,可能會花費一些時間,耐心等待下。其間可能會出現因為網路原因( 我相信你懂的 ),可能會出現失敗的情況,淡定,重新執行上述命令直到成功。此刻,你就是一個 while(true) 的小強。

執行完命令後,在 IntelliJ IDEA 的 Maven Projects 檢視看到部分依賴庫處於報錯狀態,將 Profiles 的 spring 勾選上,如下圖所示:

  • 再在耐心等待 Maven 下載依賴庫。

  • 這步卡了很久,感謝 知秋【基佬】 的幫助。

3. 執行示例

spring-cloud-gateway-sample 子專案,官方示例。執行 GatewaySampleApplication 的 #main() 方法,啟動示例。

執行成功日誌如下 :

2017-11-24 15:57:23.913  INFO 54587 --- [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port(s): 8080
2017-11-24 15:57:23.915 DEBUG 54587 --- [ctor-http-nio-1] r.ipc.netty.http.server.HttpServer       : [id: 0xec536a1f, L:/0:0:0:0:0:0:0:0:8080] ACTIVE
2017-11-24 15:57:23.917  INFO 54587 --- [           main] o.s.c.g.sample.GatewaySampleApplication  : Started GatewaySampleApplication in 17.744 seconds (JVM running for 28.245)

使用瀏覽器訪問 http://127.0.0.1:8080/image/webp 地址,我們會看到一張 “狼” 圖。恭喜你,除錯環境已經搭建完成。為什麼會傳回一張圖片呢,答案在 GatewaySampleApplication#customRouteLocator() 方法的路由配置。

666. 彩蛋

知識星球

胖友,分享一波朋友圈可好!

對了,這是一個系列文,所以,千萬不要錯過。

在送一波真彩蛋 :

贊(0)

分享創造快樂