一、Spring5新特性
二、響應式編程
響應式編程:非阻塞應用程序,藉助異步和事件驅動還有少許的線程垂直伸縮,而非橫向伸縮(分佈式集羣)
當Http鏈接緩慢的時候,從數據庫到Http數據響應中也會慢下來甚至中止,直到網速恢復後(背壓)
響應式編程的轉變:命令式編程轉換爲聲明式編程
響應式編程的背壓:
生產者消費者模型:線程交互 notify wait
背壓就是保證生產者不會出現過分生產,也會保證消費者不會過分消費
WebFlux 內置Netty
三、Spring5的響應式編程的實現
響應式服務端的實現方式2種:
第一種:註解式應用
SpringMVC的註解
只是映射方法的返回值:Mono和Flux
一、建立SpringBoot項目
記得選擇響應式Web應用
二、建立底層類
模擬數據
三、建立控制器
四、建立映射方法
返回值爲Mono或者是Flux
Mono:單個值得數據流
Flux:多個值得數據流
五、運行
SpringBoot 只須要運行開關類就能夠
六、測試
基於瀏覽器測試
第二種實現:函數式實現
一、建立SpringBoot項目
記得選擇響應式Web應用
二、建立底層類
模擬數據
三、建立數據生成類
dao---generator Mono/Flux
四、建立數據解析器
service---handler Mono<ServerResponse>
五、建立映射方法
controller---router
RouterFunction
Mono:單個值得數據流
Flux:多個值得數據流
六、運行
SpringBoot 只須要運行開關類就能夠
七、測試
基於瀏覽器測試數據庫