SpringBoot2.0中MVC和WebFlux控制層Controller對比
本篇文章是SpringBoot2.0關於Controller控制層的對比,相信很多開發最好奇的也是這塊。那麼小編就帶著大家一起先來看一下,嚐嚐鮮,本篇文章比較短小精悍,只講如何使用(前面一直在講概念,從這篇開始以後都是程式設計了),注意看圖,至於原理剖析,後面會講。閱讀時間大概3分鐘 ! (合理利用碎片時間)
目錄
- 演示demo目錄結構
- 啟動類
- webmvc控制層
- webflux控制層
- 總結
注意: 1,2,3,4主要是圖片,主要展示demo的啟動環境.
主要看3,4定義路由的方法! 和 5總結(請結合圖)
1.目錄結構
2.啟動類定義
這裡為了方便看到被Spring載入到的Bean故列印了一下
3.WebMVC控制層
4.WebFlux控制層
5.總結
傳統Web層我們看到了熟悉的註解,不用介紹。
我們看下為什麼Webflux沒有用@Controller,注意這裡使用配置的註解,將定義的RouterFunctions路由函式交給
Spring管理,我們這裡的命名是customer-webflux-route-01
看起來都很清爽,不過有幾個類,在SpringBoot1.0是沒有的,這裡列舉一下
ServerResponse 類似於HttpServletResponse (各位童鞋應該都知道,請忽略)
ServerRequest 類似於HttpServletRequest (各位童鞋應該都知道,請忽略)
Mono和 Flux 反應式程式設計核心類上文連結介紹 Springboot2.0中webflux到底優秀在哪裡
RouteFunctions 將路由和處理方法連線
HandlerFunction 處理方法
RequestPredicates 定義請求方法,對請求方法的一些定義,比如許可權或者對Headers的限制
下圖結合route的原始碼,很生動將這五個類的關係描述描述出來
通過webmvc和Webflux控制層的簡單demo,和WebFlux的常用類的演示,SpringBoot2.0的功能使用大概都已經表述清楚了,細節本文不做描述,下一篇主要講這幾個核心類的API使用細節! API程式碼比較多,所以分兩篇展示。最後謝謝你的閱讀,很高興為你的碎片時間,傳播一點知識。我們下篇見!