本文在提供完整代码示例,可见 https://github.com/YunaiV/SpringBoot-Labs 的 lab-27 目录。

原创不易,给点个 Star 嘿,一起冲鸭!

1. 概述

友情提示:Reactive Programming ,翻译为反应式编程,又称为响应式编程。本文,我们统一使用响应式。不过,比较正确的叫法还是反应式。

Spring Framework 5 在 2017 年 9 月份,发布了 GA 通用版本。既然是一个新的大版本,必然带来了非常多的改进,其中比较重要的一点,就是将响应式编程带入了 Spring 生态。又或者说,将响应式编程“真正”带入了 Java 生态之中。

在此之前,相信绝大多数 Java 开发者,对响应式编程的概念是非常模糊的。甚至说,截止到目前 2019 年 11 月份,对于国内的 Java 开发者,也是知之甚少。

对于我们来说,最早看到的就是 Spring5 提供了一个新的 Web 框架,基于响应式编程的 Spring WebFlux 。至此,SpringMVC 在“干掉” Struts 之后,难道要开始进入 Spring 自己的两个 Web 框架的双雄争霸?

实际上,WebFlux 在出来的两年时间里,据艿艿所了解到的情况,鲜有项目从采用 SpringMVC 迁移到 WebFlux ,又或者新项目直接采用 WebFlux 。这又是为什么呢?

艿艿:V2EX 上还有这样一个讨论 《现在有公司在使用 Spring Boot 2.0 的 WebFlux 吗?》 。

响应式编程,对我们现有的编程方式,是一场颠覆,对于框架也是。

  • 在 Spring 提供的框架中,实际并没有全部实现好对响应式编程的支持。例如说,Spring Transaction 事务组件,在 Spring 5.2 M2 版本,才提供了支持响应式编程的 ReactiveTransactionManager 事务管理器。

  • 更不要说,Java 生态常用的框架,例如说 MyBatis、Jedis 等等,都暂未提供响应式编程的支持。

所以,WebFlux 想要能够真正普及到我们的项目中,不仅仅需要 Spring 自己体系中的框架提供对响应式编程的很好的支持,也需要 Java 生态中的框架也要做到如此。例如说:

艿艿:

艿艿连肝了几个周末,写了一篇贼长的 Spring 响应式 Web 框架 WebFlux!市面第二完整~相关推荐

  1. 艿艿连肝了几个周末,写了一篇贼长的 Spring 响应式 Web 框架 WebFlux!市面第二完整~...

    点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 RP ...

  2. springboot中文文档_登顶 Github 的 Spring Boot 仓库!艿艿写的最肝系列

    源码精品专栏 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 My ...

  3. 硬核艿艿,新鲜出炉,直接带你弄懂 Spring Boot Jar 启动原理!

    " 摘要: 原创出处 http://www.iocoder.cn/Spring-Boot/jar/ 「芋道源码」欢迎转载,保留摘要,谢谢! 1. 概述 2. MANIFEST.MF 3. J ...

  4. 可能是第二好的 Spring OAuth 2.0 文章,艿艿端午在家写了 3 天~

    " 本文在提供完整代码示例,可见 https://github.com/YunaiV/SpringBoot-Labs 的 lab-68-spring-security-oauth 目录. 原 ...

  5. Spring Job?Quartz?XXL-Job?年轻人才做选择,艿艿全莽~

    本文在提供完整代码示例,可见 https://github.com/YunaiV/SpringBoot-Labs 的 lab-28 目录. 原创不易,给点个 Star 嘿,一起冲鸭! 1. 概述 在产 ...

  6. 《阿凡达2》首周末IMAX全球票房4880万美元;康泰生物新冠疫苗纳入第二剂次加强免疫接种 | 美通企业日报...

    美通社要闻摘要: 康泰生物新冠灭活疫苗第二剂次加强针已开放公众预约接种.<阿凡达:水之道>首周末IMAX全球票房4880万美元.丰田汽车将与Oncor合作研究电动汽车充电技术.美的楼宇科技 ...

  7. 对着Java性能调优,艿艿也很无奈···

    Java性能调优都是老生常谈的问题,特别当"糙快猛"的开发模式大行其道时,随着系统访问量的增加.代码的臃肿,各种性能问题便会层出不穷. 比如,下面这些典型的性能问题,你肯定或多或少 ...

  8. 2.5w字长文爆肝 C++动态内存与智能指针一篇搞懂!太顶了!!!

    动态内存与智能指针 1.动态内存与智能指针 2.shared_ptr类 2.1.make_shared函数 2.2.shared_ptr的拷贝和赋值 2.3.shared_ptr自动销毁所管理的对象 ...

  9. 周末写的数据库文章又被官方推荐了!

    近期,数字化转型在业界提的很火热,数字经济规划作为单独篇章出现在了最新的十四五规划中,足以说明国家对数字经济的重视.那么对于我们数据人来说,这无疑是一个非常好的"风口",可以让我们 ...

最新文章

  1. 技术图文:Matlab VS. Numpy 常见矩阵
  2. 【高并发】ThreadLocal学会了这些,你也能和面试官扯皮了!
  3. 两路虚拟化服务器,服务器虚拟化(二)
  4. js如何生成[n,m]的随机数
  5. FD.io/VPP — GRE over IPSec
  6. android源码下载与编译,Android源码下载并编译
  7. php io select,Python IO多路复用之——select方案服务端和客户端代码【python源码详解】...
  8. Java异常之checked与unchecked
  9. 基于Caffe的人脸关键点检测实现
  10. 基于Hive解析AST的模仿sqlFlow无中间表的字段级数据血缘的后端
  11. 天空卫士API数据安全解决方案
  12. 原来iPhone自带Respring(注销重启桌面)功能
  13. 研发提效:通过设计稿自动生成前端代码
  14. 2019备考[嵌入式系统设计师]你准备好了吗?
  15. String的普通方法
  16. word如何一键全选_word文档怎么全选所有内容
  17. 复试编程训练真题——C语言,统计各单词(字符)出现的次数,并将各单词(字符)和其出现的次数输出到屏幕和文件中
  18. 手机学python_手机学python的app
  19. Linux系统管理学习计划
  20. 搬家准备哪些东西搬家怎么打包?搬家攻略赶紧收藏!

热门文章

  1. 编程之美-队列中取最大值操作问题
  2. VMware Workstation中安装linux系统(CentOS)超详细
  3. 2019年前端的3个趋势
  4. java左移、右移、无符号右移
  5. Spring MVC 4.1 支持jsonp
  6. vue.js 2.0实现的简单分页
  7. Oracle创建命名空间和新用户
  8. NHibernate3剖析:Query篇之NHibernate.Linq标准查询
  9. 最优控制理论 一、变分法和泛函极值问题
  10. ubuntu系统home(主文件夹)中的内容在桌面的显示