Spring Boot WebFlux-導讀


背景

大家都知道,Spring Framework 是 Java/Spring 應用程序跨平台開發框架,也是 Java EE(Java Enterprise Edition) 輕量級框架,其 Spring 平台為 Java 開發者提供了全面的基礎設施支持,雖然 Spring 基礎組件的代碼是輕量級,但其配置依舊是重量級的。

那是怎么解決了呢?當然是 Spring Boot,Spring Boot 提供了新的編程模式,讓開發 Spring 應用變得更加簡單方便。本課將會由各個最佳實踐工程出發,涉及 Spring Boot 開發相關的各方面,下面先了解下 Spring Boot 框架。

Spring Boot 是什么

Spring Boot(Boot 顧名思義,是引導的意思)框架是用於簡化 Spring 應用從搭建到開發的過程。應用開箱即用,只要通過一個指令,包括命令行 java -jar、SpringApplication 應用啟動類、Spring Boot Maven 插件等,就可以啟動應用了。另外,Spring Boot 強調只需要很少的配置文件,所以在開發生產級 Spring 應用中,讓開發變得更加高效和簡易。目前,Spring Boot 版本是 2.x 版本。

Spring Boot WebFlux 是什么

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

官方文檔這樣描述:響應式編程是基於異步和事件驅動的非阻塞程序,只是垂直通過在 JVM 內啟動少量線程擴展,而不是水平通過集群擴展。

Spring Boot 2.0 包括一個新的 spring-webflux 模塊,該模塊包含對響應式 HTTP 和 WebSocket 客戶端的支持,以及對 REST、HTML 和 WebSocket 交互等程序的支持。

為什么學習 Spring Boot WebFlux

  • 微服務架構越來越火,Spring Boot 是一大趨勢,因為 Spring Cloud 是基於 Spring Boot 的,所以學好 Spring Boot WebFlux 會受益匪淺。
  • 從編程來講,雖然阻塞式編程是避免不了的,但是 Reactive 編程在大多數場景,能夠提高資源利用率。所以,學習 WebFlux,尤其某些 IO 密集型場景很剛需。

本課程可以學到什么

本課程是一個系列基礎教程,目標是帶領讀者上手實戰,課程以新版本 Spring Boot 2.0 WebFlux 的核心概念作為主線。圍繞 Spring Boot 2.0 WebFlux 技術棧的系列教程,目標是帶領讀者了解 Spring Boot 2.0 WebFlux 各種特性,並學會使用 Spring Boot 相關技術棧上手開發項目。尤其對於微服務下,如果是 IO 密集型等場景,可以考慮使用 WebFlux 去實現。

主要包含知識點:快速入門、CRUD 、MongoDB Reactive、Thymeleaf、Redis、WebSocket 等,一步一步了解每個組件的使用方式,最后綜合演練。

認真學完這個系列文章之后,會對 Spring Boot 2.0 WebFlux 有進一步的了解,具備使用 Spring Boot 2.0 WebFlux 上手進行開發的基本能力。

我早期寫的文章可以看我的 GitHub

適合閱讀的人群

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

  • Spring Boot 2.0 WebFlux 新版本的初學人員
  • 對 Spring Boot 2.0 WebFlux 開發感興趣的開發人員
  • 希望了解 Spring Boot 2.0 WebFlux 的研發人員

版本使用 Spring Boot 2.0.1.RELEASE 版本進行開發演示,技術人員需要具備 Maven、Git 基本技能。

開發運行環境:

  • JDK 1.8 + Spring Boot 2.x 要求 JDK 1.8 環境及以上版本。另外,Spring Boot 2.x 只兼容 Spring Framework 5.0 及以上版本。
  • Maven 3.2+ 為 Spring Boot 2.x 提供了相關依賴構建工具是 Maven,版本需要 3.2 及以上版本,使用 Gradle 則需要 1.12 及以上版本。Maven 和 Gradle 大家各自挑選下喜歡的就好。
  • IntelliJ IDEA IntelliJ IDEA (簡稱 IDEA)是常用的開發工具,也是本書推薦使用的,同樣使用 Eclipse IDE 自然也是可以的。

開發使用框架:

  • MongoDB
  • Redis
  • Thymeleaf
  • WebSocket

課程目錄

  • 《導讀:課程概要》
  • 《第01課:WebFlux 快速入門實踐》
  • 《第02課:WebFlux Web CRUD 實踐》
  • 《第03課:WebFlux 整合 MongoDB》
  • 《第04課:WebFlux 整合 Thymeleaf》
  • 《第05課:WebFlux 中 Thymeleaf 和 MongoDB 實踐》
  • 《第06課:WebFlux 整合 Redis》
  • 《第07課:WebFlux 中 Redis 實現緩存》
  • 《第08課:WebFlux 中 WebSocket 實現通信》
  • 《第09課:WebFlux 集成測試及部署》
  • 《第10課:WebFlux 實戰圖書管理系統》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM