SpringCloud无法使用@EnableZuulProxy注解?

3 篇文章 0 订阅
2 篇文章 0 订阅

目录

一、问题描述

二、解决历程

三、解决方案

四、思考总结


一、问题描述

         今天在使用SpringCloud做Zuul网关时,发现根本就找不到@EnableZuulProxy注解。它还很“友好”地提示了我,如下图所示:

         实际上,它们都位于org.springframework.cloud.netflix.zuul.EnableZuulProxy这个包下。


二、解决历程

           按照常规路线,自然要检查自己的pom.xml中有没有添加Zuul网关依赖。不必说,我是添加了的,而且也pom.xml也没有报红。如下图所示:

          很遗憾,依旧引用不了@EnableZuulProxy注解!!!我经常跟别人说,我有问题我基本不找别人,百度是我最好的老师!

         于是和往常一样,我百度了,发现这回百度也栽了。不仅这方面解决方案很少,就连仅有的几篇也不能解决我的问题。我重点参考了如下两篇文章:

https://blog.csdn.net/m0_46266503/article/details/106753798

https://blog.csdn.net/qq_14809913/article/details/80590364

          依然很遗憾,依旧没有解决我的问题!!!


三、解决方案

          但是上述两篇文章给了我思路。于是,我在想是不是我的版本问题,需要我继续调整???这两篇文章并没有直接解决我的问题,但是却让我想着从SpringBoot版本和SpringCloud版本的角度出发。

         大家都知道,SpringCloud与SpringBoot版本对应问题总是会导致这样那样的问题。是的,其实就是版本的问题。

         首先,我使用的是IDEA 2019.3的版本,截至目前,它给我提供的SpringBoot版本号有11种,如下图所示:

         而我只能根据这些版本号一一尝试去寻找对应的SpringCloud版本号。

         然后,我通过版本号对应查询官网https://start.spring.io/actuator/info查询了一番,发现SpringCloud和SpringBoot版本号对应关系如下:

"spring-cloud": {
            "Hoxton.SR12": "Spring Boot >=2.2.0.RELEASE and <2.4.0.M1", 
            "2020.0.0-M3": "Spring Boot >=2.4.0.M1 and <=2.4.0.M1", 
            "2020.0.0-M4": "Spring Boot >=2.4.0.M2 and <=2.4.0-M3", 
            "2020.0.0": "Spring Boot >=2.4.0.M4 and <=2.4.0", 
            "2020.0.3": "Spring Boot >=2.4.1 and <2.5.3-SNAPSHOT", 
            "2020.0.4-SNAPSHOT": "Spring Boot >=2.5.3-SNAPSHOT"
        }

         经过各种测试,发现IDEA提供给我的SpringBoot版本号除了2.1.3.RELEASE之外的版本号与SpringCloud版本号方案都不能解决问题。

         最后,再次通过百度,选定了SpringBoot2.1.3.RELEASE + Greenwich.RELEASE的版本组合,终于成功

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/>
    </parent>


    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
    </properties>

         至此,问题解决!


四、思考总结

         SpringCloud的使用过程中很容易出现版本问题,如果引用不到。首先,就是改变组件的依赖,例如Hystrix仪表盘用常规的依赖还不行,就得百度去找特定的依赖了;其次,可以从其与SpringBoot版本号对应方面寻找问题,版本号对应查询官网文中已给出。实际上,归根结底,还是版本号对应问题。

         一句题外话:我也有带新人,基本很多都是刚毕业的学生或者在校学生。其实包括在公司里,我也帮同事解决过问题,当然同事大佬们也经常帮我。我经常告诉他们,有问题首先不要直接问人,学会独立思考,因为任何人都不会成为你一辈子的依靠,迟早需要学会自己独立解决问题。近半年来,我的问题基本都是一个人去解决。百度——是我唯一的老师!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Spring Cloud Alibaba是一个基于Spring Cloud的开源框架,提供了丰富的微服务开发工具包,包括服务注册与发现、配置管理、消息总线、负载均衡、熔断降级、分布式事务、流量控制、安全控制、分布式追踪等功能。 Spring Cloud Alibaba与Nacos、Dubbo、Sentinel等组件协同工作,Nacos作为注册中心和配置中心,Dubbo作为RPC框架,Sentinel作为流量控制和熔断降级组件,共同构建起完整的微服务生态体系。 使用Spring Cloud Alibaba进行服务注册和发现,可以通过注解@EnableDiscoveryClient开启服务注册与发现功能,并通过@FeignClient或@LoadBalanced注解实现服务调用和负载均衡。 使用Spring Cloud Alibaba进行服务治理,可以通过注解@EnableCircuitBreaker开启熔断降级功能,并通过@SentinelResource注解配置熔断降级规则。 使用Spring Cloud Alibaba进行熔断降级,可以通过Sentinel Dashboard进行实时监控和管理,同时通过注解@SentinelRestTemplate实现对RestTemplate的熔断降级。 使用Spring Cloud Alibaba进行服务配置管理,可以通过注解@EnableConfigNacosConfig和@Value注解实现动态配置管理。 使用Spring Cloud Alibaba进行分布式事务管理,可以通过注解@EnableDistributedTransaction开启分布式事务管理功能,并通过@GlobalTransactional注解实现分布式事务的统一管理和控制。 使用Spring Cloud Alibaba进行链路追踪,可以通过注解@EnableZipkinServer和@EnableZipkinClient开启链路追踪功能,并通过Sleuth和Zipkin实现对微服务调用链的追踪和分析。 使用Spring Cloud Alibaba进行服务限流,可以通过Sentinel进行实时流控和熔断降级,同时通过注解@SentinelResource实现对服务的限流控制。 Spring Cloud Alibaba支持微服务的服务网关管理,可以通过注解@EnableZuulProxy或@EnableGateway开启服务网关功能,并通过ZuulGateway实现微服务的API网关管理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT-NSD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值