记录spring cloud alibaba使用FeignClient时所遇到的坑

FeignClient无法注入

spring cloud alibaba使用FeignClient调用服务,首先引入依赖。

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

然后写好FeignClient接口,在启动类上添加@EnableFeignClients,启动项目时发现FeignClient无法注入。
查询相关问题后大多数都是说扫描路径的问题,尝试在@EnableFeignClients注解上配置扫描路径,经过尝试并没有什么卵用。
随后在报错信息中发现这么一行。

Caused by: java.lang.IllegalStateException: No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalancer?
	at org.springframework.cloud.openfeign.FeignClientFactoryBean.loadBalance(FeignClientFactoryBean.java:351) ~[spring-cloud-openfeign-core-3.0.3.jar:3.0.3]
	.......

结果查阅发现由于SpringCloud Feign在Hoxton.M2 RELEASED版本之后不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer会报错。
所以加入spring-cloud-loadbalancer依赖 。

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-loadbalancer</artifactId>
        </dependency>

并且在nacos中排除ribbon依赖(不然loadbalancer无效)问题成功解决。

你可能感兴趣的:(Spring,Cloud,java,spring,boot,spring,spring,cloud,alibaba,spring,cloud)