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

weixin_34253539發表於2018-03-23

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

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


???關注**微信公眾號:【芋道原始碼】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有原始碼分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文註釋原始碼 GitHub 地址
  3. 您對於原始碼的疑問每條留言將得到認真回覆。甚至不知道如何讀原始碼也可以請教噢
  4. 新的原始碼解析文章實時收到通知。每週更新一篇左右
  5. 認真的原始碼交流微信群。

1. 依賴工具

  • Maven ( >= 3.3.3 )
  • JDK
  • IntelliJ IDEA

推薦 Spring Cloud 書籍

推薦 Spring Cloud 視訊

2. 原始碼拉取

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

使用 IntelliJ IDEAFork 出來的倉庫拉取程式碼。

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

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

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

  • 再在耐心等待 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. 彩蛋

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

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

在送一波真彩蛋 :

相關文章