当前位置: 首页 > wzjs >正文

织梦网站专题模板下载专做水果店加盟的网站

织梦网站专题模板下载,专做水果店加盟的网站,服务外贸论坛,应用软件免费下载原文网址:Spring WebFlux和Spring MVC的对比-CSDN博客 简介 本文介绍Spring WebFlux和Spring MVC的区别。 Webflux:是异步非阻塞的(IO多路复用),基于Netty。适合网络转发类的应用,比如:网关。…

原文网址:Spring WebFlux和Spring MVC的对比-CSDN博客

简介

本文介绍Spring WebFlux和Spring MVC的区别。

Webflux:是异步非阻塞的(IO多路复用),基于Netty。适合网络转发类的应用,比如:网关。
MVC:是同步阻塞的,基于Servlet。适合阻塞性的业务应用,比如:读写数据库等普通业务。

Webflux和MVC

功能性

Overview :: Spring Framework

Spring MVC 和 WebFlux 可以共存

在一个同时引入了 Spring MVC 和 Spring WebFlux 的项目中,Spring 通过请求路径的映射机制以及底层的配置来区分应该将请求交给谁处理(DispatcherServlet 或 WebHandler)。

返回值类型决定了处理器:

  • 如果控制器方法返回阻塞类型(如 String、ResponseEntity<T>),请求会由 Spring MVC 的 DispatcherServlet 处理。
  • 如果控制器方法返回响应式类型(如 Mono<T> 或 Flux<T>),请求会由 Spring WebFlux 的 WebHandler 处理。

Spring 的默认行为限制:

  • Spring MVC 控制器和Spring WebFlux 控制器在逻辑上是完全独立的。
  • 同一个控制器(@RestController 类)不能混用阻塞式方法和响应式方法。否则,Spring 不知道该为这个控制器注册到哪个处理器中(因为一个控制器只能归属到一个处理器)。
     

官方使用建议

官方建议:

  1. 如果已经有了一个运行良好的SpringMVC 应用程序,则无需更改。命令式编程是编写、理解和调试代码的最简单方法,我们可以选择最多的库,因为从历史上看,大多数都是阻塞的。
  2. 如果是个新应用且决定使用 非阻塞 Web 技术栈,那么 WebFlux 是个不错的选择。
  3. 对于使用 Java8 Lambda 或者 Kotlin 且 要求不那么复杂的小型应用程序或微服务来说,WebFlux 也是一个不错的选择。
  4. 在微服务架构中,可以混合使用 SpringMVC 和 Spring WebFlux,两个都支持基于注解的编程模型。
  5. 评估应用程序的一种简单方法是检查其依赖关系。如果要使用阻塞持久性 API(JPA、JDBC)或网络 API,那么 Spring MVC 至少是常见架构的最佳选择。
  6. 如果有一个调用远程服务的 Spring MVC 应用程序,请尝试响应式WebClient。
  7. 对于一个大型团队,向非阻塞、函数式和声明式编程转变的学习曲线是陡峭的。在没有全局开关的情况下,想启动 WebFlux,可以先使用 reactive WebClient。

Reactive和Servlet

官网地址:https://spring.io/reactive

总结

Spring Webflux的特点:

  1. 不能使接口的响应时间缩短,它仅仅能够提升吞吐量和伸缩性。
  2. 内部是响应式编程,以Reactor库为基础,基于异步和事件驱动,适合应用在网络IO密集型的服务中,如网关。
  3. 不是Spring MVC的替代方案,它们是不同的应用场景。
  4. 默认情况下使用Netty作为服务器,不支持MySQL。
  5. 前端控制器是DispatcherHandler(Spring MVC是DispatcherServlet。)
  6. 支持两种编程风格,一种是Spring MVC的注解形式,另一种是Java 8 Lambda函数式编程。
  7. 类型:Mono返回0或者1个元素,即单个对象。Flux返回N个元素,即List列表对象。
  8. 没有拦截器概念,类似的工作需要在过滤器中完成,例如:Token验证用过滤器。
  9. 可以用@ControllerAdvice注册全局异常处理器,但它仅对Controller中抛出的异常生效,无法顾及到过滤器。对异常,推荐的方式是注册WebExceptionHandler。 

文章转载自:

http://UK15h2Bt.fphbz.cn
http://yRItik1M.fphbz.cn
http://7OzKYbRd.fphbz.cn
http://5ZykmRbu.fphbz.cn
http://CGSVVyfX.fphbz.cn
http://UeZvUYeq.fphbz.cn
http://nePRSosG.fphbz.cn
http://0H00Ryso.fphbz.cn
http://hKrjSgTq.fphbz.cn
http://YH3lOSJz.fphbz.cn
http://woZfYIbU.fphbz.cn
http://k21z2DqO.fphbz.cn
http://IsGKIfSQ.fphbz.cn
http://wnGMkVQt.fphbz.cn
http://jv0Nsp4E.fphbz.cn
http://814MfZtx.fphbz.cn
http://DkecUpMG.fphbz.cn
http://Johc0RqJ.fphbz.cn
http://qPQpHieT.fphbz.cn
http://40yWPcEv.fphbz.cn
http://8xS6pxOk.fphbz.cn
http://bOanHqiN.fphbz.cn
http://Krf9cp0H.fphbz.cn
http://8I0obApR.fphbz.cn
http://xA2FrXzv.fphbz.cn
http://fDy9WuWK.fphbz.cn
http://wPOpI2Al.fphbz.cn
http://glp8nckC.fphbz.cn
http://M0GPT2Bn.fphbz.cn
http://bD1T9HhU.fphbz.cn
http://www.dtcms.com/wzjs/697060.html

相关文章:

  • 中国都在那个网站上做外贸网站跳出率什么意思
  • 网站 平均加载时间网站默认后台登陆
  • 烟台有没有做网站网络技术服务包括哪些范围
  • 网站平台建设实训心得体会平潭综合实验区建设工程网站
  • 互联网软件门户网站三一国际网站设计
  • 安卓盒子做网站苏州做网站的专业公司哪家好
  • 质监站网址广告图片网站源码
  • 北京智能模板建站兴义做网站的公司
  • wordpress子网站河南招标投标信息网
  • 东莞+网站+建设+汽车百度app打开
  • 申请域名网站价格wordpress 变小程序
  • php网站开发cms装修设计合同范本
  • 浙江建设培训考试网站广州宣传片制作公司
  • 比较好的网页模板网站北京平台网站建设
  • wordpress建站知乎网站建设维护工作职责
  • 重庆网站关键字优化青龙建站教程
  • 网站怎么接广告赚钱营销型网站建设域名是
  • 网站建设与管理ppt模板专注网站基础优化
  • 广告设计网站官网wordpress开发者文档
  • 济南网站建设手机大型科技网站建设
  • 甘肃省住房建设厅户网站产品做网站
  • 任丘网站开发建设怎么选360浏览器显示2345网址导航
  • 找工作哪个网站好智联招聘群晖nas安装wordpress安装
  • 网站icp不备案有关系吗微网站建设及微信公众号
  • 东莞容桂网站制作铁路项目建设 网站
  • 佛山高明网站建设设计wordpress常常被用来做什么网站
  • 做网站用com还是cn好网站建设方案书个人
  • 做像58这种分类信息网站赚钱吗手机上自己设计房子软件
  • 网站建设与推广的策划方案有没有专门做外包销售的公司
  • 莞城网站推广建设网站链接