Spring Boot 2.x 系列教程:WebFlux 系列教程大綱(一)

WebFlux 系列教程大綱

一、背景

大家都知道,Spring Framework 是 Java/Spring 應(yīng)用程序跨平臺(tái)開發(fā)框架,也是 Java EE(Java Enterprise Edition) 輕量級(jí)框架,其 Spring 平臺(tái)為 Java 開發(fā)者提供了全面的基礎(chǔ)設(shè)施支持。 雖然 Spring 基礎(chǔ)組件的代碼是輕量級(jí),但其配置依舊是重量級(jí)的。

那是怎么解決了呢?當(dāng)然是 Spring Boot,Spring Boot 提供了新的編程模式,讓開發(fā) Spring 應(yīng)用變得更加簡單方便。本書將會(huì)由各個(gè)最佳實(shí)踐工程出發(fā),涉及 Spring Boot 開發(fā)相關(guān)的各方面。下面先了解下 Spring Boot 框架。

二、Spring Boot 是什么

Spring Boot (Boot 顧名思義,是引導(dǎo)的意思)框架是用于簡化 Spring 應(yīng)用從搭建到開發(fā)的過程。應(yīng)用開箱即用,只要通過一個(gè)指令,包括命令行 java -jarSpringApplication 應(yīng)用啟動(dòng)類 、 Spring Boot Maven 插件等,就可以啟動(dòng)應(yīng)用了。另外,Spring Boot 強(qiáng)調(diào)只需要很少的配置文件,所以在開發(fā)生產(chǎn)級(jí) Spring 應(yīng)用中,讓開發(fā)變得更加高效和簡易。目前,Spring Boot 版本是 2.x 版本。

image

三、Spring Boot WebFlux 是什么

可以看到上面的圖,WebFlux 相對(duì) MVC 一樣重要。大多數(shù)場(chǎng)景使用 MVC 都是阻塞式的,WebFlux 使用的場(chǎng)景是異步非阻塞的。那什么是響應(yīng)式編程(Reactive Programming)?

官方文檔這樣描述:響應(yīng)式編程是基于異步和事件驅(qū)動(dòng)的非阻塞程序,只是垂直通過在 JVM 內(nèi)啟動(dòng)少量線程擴(kuò)展,而不是水平通過集群擴(kuò)展。

Spring Boot 2.0 包括一個(gè)新的 spring-webflux 模塊。該模塊包含對(duì)響應(yīng)式 HTTP 和 WebSocket 客戶端的支持,以及對(duì) REST,HTML 和 WebSocket 交互等程序的支持。

四、為什么學(xué)習(xí) Spring Boot WebFlux

  • 微服務(wù)架構(gòu)越來越火,Spring Boot 是一大趨勢(shì),因?yàn)?Spring Cloud 是基于 Spring Boot 的。所以學(xué)好 Spring Boot WebFlux 會(huì)受益匪淺。
  • 從編程來講,雖然阻塞式編程是避免不了的,但是 Reactive 編程在大多數(shù)場(chǎng)景,能夠提高資源利用率。所以,學(xué)習(xí) WebFlux ,尤其某些 IO 密集型場(chǎng)景很剛需。

五、本系列教程可以學(xué)到什么

本課程是一個(gè)系列基礎(chǔ)教程,目標(biāo)是帶領(lǐng)讀者上手實(shí)戰(zhàn),課程以新版本 Spring Boot 2.0 WebFlux 的核心概念作為主線。圍繞 Spring Boot 2.0 WebFlux 技術(shù)棧的系列教程,目標(biāo)是帶領(lǐng)讀者了解 Spring Boot 2.0 WebFlux 各種特性,并學(xué)會(huì)使用 Spring Boot 相關(guān)技術(shù)棧上手開發(fā)項(xiàng)目。尤其對(duì)于微服務(wù)下,如果是 IO 密集型等場(chǎng)景,可以考慮使用 WebFlux 去實(shí)現(xiàn)。

主要包含知識(shí)點(diǎn):快速入門、CRUD 、Mongodb Reactive、Thymeleaf、Redis、WebSocket 等,一步一步了解每個(gè)組件的使用方式,最后綜合演練。

認(rèn)真學(xué)完這個(gè)系列文章之后,會(huì)對(duì) Spring Boot 2.0 WebFlux 有進(jìn)一步的了解,具備使用 Spring Boot 2.0 WebFlux 上手進(jìn)行開發(fā)的基本能力。

我早期寫的文章可以看我的 GitHub:github.com/JeffLi1993

六、適合閱讀的人群

本 GitChat 課程適合以下人群閱讀:

  • Spring Boot 2.0 WebFlux 新版本的初學(xué)人員
  • 對(duì) Spring Boot 2.0 WebFlux 開發(fā)感興趣的開發(fā)人員
  • 希望了解 Spring Boot 2.0 WebFlux 的研發(fā)人員

版本使用 Spring Boot 2.0.1.RELEASE 版本進(jìn)行開發(fā)演示,技術(shù)人員需要具備 Maven、Git 基本技能。

開發(fā)運(yùn)行環(huán)境:

  • JDK 1.8+ Spring Boot 2.x 要求 JDK 1.8 環(huán)境及以上版本。另外,Spring Boot 2.x 只兼容 Spring Framework 5.0 及以上版本。

  • Maven 3.2+ 為 Spring Boot 2.x 提供了相關(guān)依賴構(gòu)建工具是 Maven,版本需要 3.2 及以上版本。使用 Gradle 則需要 1.12 及以上版本。Maven 和 Gradle 大家各自挑選下喜歡的就好。

  • IntelliJ IDEA IntelliJ IDEA (簡稱 IDEA)是常用的開發(fā)工具,也是本書推薦使用的。同樣使用 Eclipse IDE 自然也是可以的。

開發(fā)使用框架:

  • Mongodb
  • Redis
  • Thymeleaf
  • WebSocket

七、系列教程目錄

  • 《01:WebFlux 系列教程大綱》
  • 《02:WebFlux 快速入門實(shí)踐》
  • 《03:WebFlux Web CRUD 實(shí)踐》
  • 《04:WebFlux 整合 Mongodb》
  • 《05:WebFlux 整合 Thymeleaf》
  • 《06:WebFlux 中 Thymeleaf 和 Mongodb 實(shí)踐》
  • 《07:WebFlux 整合 Redis》
  • 《08:WebFlux 中 Redis 實(shí)現(xiàn)緩存》
  • 《09:WebFlux 中 WebSocket 實(shí)現(xiàn)通信》
  • 《10:WebFlux 集成測(cè)試及部署》
  • 《11:WebFlux 實(shí)戰(zhàn)圖書管理系統(tǒng)》
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容