Spring5 WebFlux和SpringMVC的关系,java开发模式面试

Spring WebFlux

==============

Spring框架中包含的原始web框架springweb mvc是专门为Servlet API和Servlet容器构建的。反应式堆栈web框架SpringWebFlux是在5.0版本中添加的。它是完全无阻塞的,支持反应流背压,并在Netty、Undertow和servlet3.1+容器等服务器上运行。

两个web框架都反映了它们的源模块(和springwebflux)的名称,并且在spring框架中并排共存。每个模块都是可选的。应用程序可以使用一个或另一个模块,在某些情况下,可以同时使用这两个模块(例如,Spring MVC控制器和反应式WebClient)。

为什么会创建SpringWebFlux?

====================

部分原因是需要一个无阻塞的web堆栈来处理具有少量线程的并发性,并使用较少的硬件资源进行扩展。Servlet3.1确实为非阻塞I/O提供了一个API。但是,使用它会导致ServletAPI的其他部分出现问题,在这些API中契约是同步的( Filter , Servlet )或阻塞的( getParameter , getPart )。这是一个新的公共API在任何非阻塞运行时作为基础的动机。这一点很重要,因为服务器(如Netty)在异步、非阻塞空间中已经建立良好。

答案的另一部分是函数式编程。正如在Java5中添加注释创造了机会(如带注释的REST控

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值