Spring Boot - 使用 Spring WebFlux 框架进行响应式编程

在本文中,我们将探索 Spring Boot 中的响应式编程。响应式编程是一种异步的、非阻塞的编程范式,用于开发能够对外部刺激做出高度响应的应用程序。

什么是响应式编程

  • 响应式编程中,数据的流动是异步的,这是通过基于推送的发布者和订阅者来实现的,而不是像传统的同步拉取调用那样。
  • 响应式编程的核心抽象是响应式流,它提供了一种处理异步数据流的标准方式。响应式流有两个主要接口:Publisher(发布者)和 Subscriber(订阅者)。
  • 发布者会异步地将数据推送给订阅者。订阅者注册回调函数,当新数据到达时会收到通知,而不需要主动去轮询查询。
  • 响应式流的例子包括 Spring WebFlux 中的 Mono 和 Flux。Mono 表示单个事件/值,而 Flux 表示包含多个值的数据流。

Spring WebFlux 响应式编程的优势

  • 支持响应式类型
  • 与响应式流集成
  • 支持非阻塞 I/O
  • 友好支持微服务架构

Spring WebFlux 依赖

Gradle:

dependencies {
    implementation ‘org.springframework.boot:spring-boot-starter-webflux‘
}

Maven:



    org.springframework
    spring-webflux
    6.1.3

Spring WebFlux 中的响应式类型

  • Mono: Mono 具体表示只有一个值或者根本没有值。
  • Flux: Flux 表示一个随时间发出的包含零个或多个元素的流

分步实现指南

第一步:建立一个新的 Spring MVC 项目

在你喜欢的集成开发环境(IDE)(例如 IntelliJ、Eclipse 或 Spring Tool Suite)中创建一个新的 Maven 项目,并添加以下依赖项。

  • Spring Webflux
  • Mongo Db – 用于数据库
  • Lombok

XML


CODEBLOCK_1dddf858

项目结构:

!Directory Structure

第二步:配置 Mongo Db 数据库

# MongoDB properties
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=student_management
  • host: host 属性指定了 MongoDB 服务器的主机名或 IP 地址。在这个例子中,我们使用的是 localhost。
  • port: 属性定义了 MongoDB 服务器正在运行的端口号。在这个例子中,我们将服务器运行在端口号 27017 上。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/49106.html
点赞
0.00 平均评分 (0% 分数) - 0