好奇!为什么gateway和springMVC之间依赖冲突?

这篇具有很好参考价值的文章主要介绍了好奇!为什么gateway和springMVC之间依赖冲突?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Gateway和SpringMVC之间存在冲突,可能是因为它们分别基于不同的技术栈。具体来说:文章来源地址https://www.toymoban.com/news/detail-835251.html

  1. 技术栈差异:Spring Cloud Gateway 是建立在 Spring Boot 2.x 和 Spring WebFlux 基础之上的,它使用的是非阻塞式的 Netty 服务器。而 Spring MVC 通常与 Tomcat 这类同步阻塞的服务器一起使用。
  2. 端口号和主动权争夺:当在同一个项目中同时引入 Spring Cloud Gateway 和 Spring MVC 的依赖时,由于两个服务器都想在启动时占用相同的端口,会引发冲突。
  3. 项目配置问题:在项目的配置文件(如pom.xml)中,同时包含 spring-boot-starter-web(对应 Spring MVC)和 spring-boot-starter-webflux(对应 Spring Cloud Gateway)会导致依赖冲突,因为它们不能在同一项目中共存。
  4. 类路径不兼容:Spring MVC 和 Spring WebFlux 的类路径不兼容,如果同时存在于项目中,可能会导致无法创建 Bean,进而导致 Spring 容器启动失败。

到了这里,关于好奇!为什么gateway和springMVC之间依赖冲突?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot有的时候引入依赖为什么不用加版本号

    有的小伙伴做项目时候,引入新的包时候,会有疑问,为什么有些依赖需要加版本号,有些依赖不需要加版本号?不加版本号的依赖,版本号都写在哪里了呢? 内置的依赖可以不加版本号 这是因为SpringBoot内置了很多依赖,引入这些内置的依赖时不需要加版本号,相反,如果

    2024年01月19日
    浏览(68)
  • spring 的循环依赖以及spring为什么要用三级缓存解决循环依赖

            bean的生命周期         这里简单过一下 class -无参构造 -普通对象 -依赖注入(对加了autowire等的属性赋值) -初始化前-初始化 -初始化后(aop) -放入单例池的map(一级缓存) -bean对象 这里提一点单例bean单例bean 其实就是用mapbeanName,Bean对象创建的,多例bean就不

    2024年02月15日
    浏览(57)
  • 06 为什么需要多线程;多线程的优缺点;程序 进程 线程之间的关系;进程和线程之间的区别

    CPU、内存、IO之间的性能差异巨大 多核心CPU的发展 线程的本质是增加一个可以执行代码工人 多线程的优点 多个执行流,并行执行。(多个工人,干不一样的活) 多线程的缺点 上下文切换慢,切换上下文典型值1us vs 0.3ns/cycle CPU在执行A任务(A没有执行完)时,切换到任务B,需

    2024年02月14日
    浏览(50)
  • Spring Cloud各个微服务之间为什么要用http交互?难道不慢吗?

    1、为什么要使用http交互? 通用、跨语言支持 HTTP是一种非常通用的协议,几乎所有的编程语言和平台都支持它, 这使得微服务可以使用不同的技术栈,只要它们都支持HTTP协议就可以进行通信。 简单、灵活、了扩展 HTTP协议相对简单,易于理解和实现,并且具有灵活性和可扩

    2024年02月02日
    浏览(47)
  • Spring 为什么要用三级缓存来解决循环依赖(AOP),二级缓存不行吗

    解决有代理对象的循环依赖不一定要三级缓存,用二级甚至一级也能解决,下面讨论下Spring为什么选择三级缓存这个方案。 Spring最开始是没有三级缓存的,后面版本因为引入了AOP,有了代理对象,又因为存在循环依赖,为了保证依赖注入过程注入的是代理对象,且不完全打破

    2024年04月26日
    浏览(39)
  • 报错:在从 Git 上拉取代码后,使用 npm install 安装依赖失败,但使用 yarn 可以成功安装,这是为什么

    在从 Git 上拉取代码后,使用 npm install 安装依赖失败,但使用 yarn 可以成功安装的原因可能有多种,以下是一些常见原因: 安装的依赖库版本不兼容。有时候,package.json 文件中的依赖库版本与本地或全局的 Node.js 环境不兼容,或与已安装的其他依赖库的版本不兼容,在使用

    2024年02月08日
    浏览(59)
  • 注意力机制中Q和K相乘的意义是什么?为什么Q和K相乘就可以得到它们之间的相似性/权重矩阵呢?

    在注意力机制中, query 和 key 相乘得到的相似度其实是通过计算两个向量之间的点积来实现的。具体而言,我们将 query 和 key 进行点积运算后【这里的点积运算可以看作是一种度量相似度的方法,它可以从数学上衡量两个向量之间的相关性。当两个向量越相似时,它们的点积

    2024年02月15日
    浏览(53)
  • Netty为什么高效,为什么这么受欢迎?

    上篇文章通过 Java NIO 的处理流程与 Netty 的总体流程比较,并结合 Netty 的源码,可以更加清晰地理解Netty。本文将结合源码详细解析Netty的高效和强大功能的设计原理,学习 Netty 是如何实现其卓越的性能和功能特性,也希望可以在日后工作中利用到 Netty 的设计思想。 我们先看

    2024年02月12日
    浏览(70)
  • Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)

    一、Redis是什么 Redis 是一种 基于内存的数据库 ,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于 缓存,消息队列、分布式锁等场景 。         Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、Hash(哈希)、 List (列表)、Set(集合)、

    2024年02月10日
    浏览(67)
  • AIMD 为什么收敛(tcp reno/cubic 为什么好)

    TCP 拥塞控制目标是缓解并解除网络拥塞,让所有流量公平共享带宽,合在一起就是公平收敛。 AIMD(几乎所有与拥塞控制相关的协议或算法都有 AIMD 的影子,包括 RoCE,BBRv2) 为什么收敛?我一般会给出下面的老图: 虽然只展示了两条流的收敛,但 n 条流收敛的展示无非就是将

    2024年02月06日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包