前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring5 Webflux

Spring5 Webflux

作者头像
用户9615083
发布于 2022-12-25 06:53:35
发布于 2022-12-25 06:53:35
53100
代码可运行
举报
运行总次数:0
代码可运行

# Spring5 Webflux

# 介绍

  1. SpringWebflux是Spring5添加新的模块,用于web开发的,功能和SpringMVC类似的,Webflux使用当前一种比较流行响应式编程出现的框架。
  1. 使用传统 web 框架,比如 SpringMVC,这些基于 Servlet 容器,Webflux 是一种异步非阻塞的框架,异步非阻塞的框架在 Servlet3.1 以后才支持,核心是基于 Reactor 的相关 API 实现的
  2. 什么是异步非阻塞
    • 异步和同步针对调用者,调用者发送请求,如果等着对方回应之后才去做其他事情就是同 步,如果发送请求之后不等着对方回应就去做其他事情就是异步。
    • 阻塞和非阻塞针对被调用者,被调用者收到请求之后,做完了请求任务才给出反馈,收到请求之后马上给出犯规然后再去做事情就是非阻塞。
  3. Webflux 特点:
    1. 非阻塞式:在有限资源下,提高系统吞吐量和伸缩性,以 Reactor 为基础实现响应式编程
    2. 函数式编程:Spring5 框架基于 java8,Webflux 使用 Java8 函数式编程方式实现路由请求
  4. 与SpringMVC比较
  • 两个框架都可以使用注解方式,都运行在 Tomet 等容器中
  • SpringMVC 采用命令式编程,Webflux 采用异步响应式编程

# 响应式编程

# 什么是响应式编程

响应式编程是一种面向数据流变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。电子表格程序就是响应式编程的一个例子。单元格可以包含字面值或类似"=B1+C1"的公式,而包含公式的单元格的值会依据其他单元格的值的变化而变化。

# Java8 及其之前版本

提供的观察者模式两个类 Observer 和 Observable

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * @author frx
 * @version 1.0
 * @date 2022/4/24  19:16
 */
public class ObserverDemo extends Observable {

    public static void main(String[] args) {
        ObserverDemo observer = new ObserverDemo();
        //添加观察者
        observer.addObserver((o,arg)->{
            System.out.println("发生变化");
        });
        observer.addObserver((o,arg)->{
            System.out.println("被观察者通知,发生改变");
        });
        observer.setChanged();//数据变化
        observer.notifyObservers();//通知

    }
}
  • 结果
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
被观察者通知,发生改变
发生变化

Process finished with exit code 0

java8新特性学了,再继续学习Webflux😆

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # Spring5 Webflux
    • # 介绍
    • # 响应式编程
      • # 什么是响应式编程
      • # Java8 及其之前版本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档