1. 程式人生 > >Spring WebFlux 簡介

Spring WebFlux 簡介

簡介

        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 狀態碼的響應物件

瞭解更多:https://docs.spring.io/spring-framework/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/html/web-reactive.html