Spring WebFlux是一個響應式的web服務器端應用開發框架,響應式是指,當前端組件的狀態發生變化,則生成事件通知,根據需求可異步或者同步地向服務器端接口發送請求,當服務器端網絡IO組件的狀態發生變化,則生成事件通知,根據需求可異步或者同步地處理事件,為了提升網絡的吞吐量,一般是采用異步非阻塞的設計模式,前端組件與服務器端組件異步地協作完成請求與響應,業務流程:
Spring Boot實現WebSocket
WebSocket協議的業務流程:
WebSocket支持全雙工通信,前端與服務器端可以互為消息發送方與消息接收方,建立連接的過程中,WebSocket協議的請求頭部信息中,連接類型是Upgrade,Upgrade采用的協議是websocket:
建立連接的過程中,WebSocket協議的響應頭部信息中,標識前端與服務器端的連接建立完成,開始使用TCP IP協議互相發送消息:
下載最新版本的Eclipse、最新版本的JDK、在Eclipse中創建Spring Boot Maven Java工程,在工程的Maven配置文件中引入依賴的類庫:
在工程中創建Spring Boot的應用啟動類:
在工程中創建消息服務器端類,實現WebSocket的消息處理器:
在工程中實現WebSocket消息處理器的接口方法,接收客戶端的請求消息以及發送服務器端的響應消息:
在工程中創建Spring Boot WebSocket協議服務的配置類,設置消息服務器端的請求路徑,指定路徑對應的消息處理器:
在工程中創建WebSocket的客戶端測試類,啟動Spring Boot應用,運行客戶端測試類,測試WebSocket服務器端完成:
Spring Boot實現WebFlux
在技術架構上,Spring MVC與Spring WebFlux之間的區別與聯系:
在工程中實現WebFlux的配置:
在工程中實現WebMvc的配置:
在工程中使用WebFlux的函數式編程框架定義web接口:
在工程中定義測試web接口的函數,啟動Spring Boot應用,運行客戶端測試類,測試WebFlux服務器端完成: