Spring WebFlux 簡介
阿新 • • 發佈:2018-11-20
簡介
Spring WebFlux是Spring Framework 5.0中引入的新的反應式Web框架。 與Spring MVC不同,它不需要Servlet API,完全非同步和非阻塞, 並通過Reactor專案實現Reactive Streams規範。 並且可以在諸如Netty,Undertow和Servlet 3.1+容器的伺服器上執行。
WebFlux支援兩種程式設計方式
基於SpringMvc註解@Controller
基於Java8 lambda樣式路由和處理
使用WebFlux需要單獨引用它的依賴,我使用的springboot,依賴如下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency> <!--reactor的測試依賴--> <dependency> <groupId>io.projectreactor</groupId> <artifactId>reactor-test</artifactId> <scope>test</scope> </dependency>
基於SpringMvc註解 與使用SpringMvc不同的是使用SpringWebFlux同一使用Mono<>,Flux<>物件同意返回資料
基於功能
處理請求的類,實現具體的業務邏輯,介面 ServerRequest 表示的是一個 HTTP 請求體。通過ServerRequest 物件可獲取到請求的相關資訊,如請求路徑、查詢引數和請求內容等。方法 的返回值是一個 Mono物件。介面 ServerResponse 用來表示 HTTP 響應。ServerResponse 中包含了很多靜態方法來建立不同 HTTP 狀態碼的響應物件