使用 Feign实现消费者,我们通过下面步骤进行:
第一步:创建普通 Spring Boot工程






第二步:添加依赖
org.springframework.cloud spring-cloud-starter-netflix-eureka-client org.springframework.cloud spring-cloud-starter-netflix-hystrix 2.2.10.RELEASE org.springframework.cloud spring-cloud-starter-openfeign 3.1.3 org.springframework.cloud spring-cloud-dependencies 2021.0.3 pom import spring-milestones Spring Milestones https://repo.spring.io/libs-milestone false


第三步:添加注解
在项目入口类上添加@EnableFeignClients注解表示开启 Spring Cloud Feign的支持功能;
@EnableFeignClients//开启 Spring Cloud Feign的支持功能;

第四步:声明服务
定义一个 FeignService接口,通过@FeignClient注解来指定服务名称,进而绑定服务,然后再通过 SpringMVC中提供的注解来绑定服务提供者提供的接口,如下:
/*** 使用feign的客户端注解绑定远程服务的名称* 远程服务的名称可大小写*/
@FeignClient("springcloud-service-provider")
public interface FeignService {/*** 声明一个方法,这个方法就是远程的服务提供者提供的方法* @return*/@RequestMapping("/service/provide")public String hello();}
这相当于绑定了一个名叫 springcloud-service-provider (这里springcloud-service-provider大小写 SPRINGCLOUD-SERVICE-PROVIDER 都可以 ) 的服务提供者提供的/service/provide接口;


第五步:使用 Controller中调用服务
@RestController
public class FeignController {@AutowiredFeignService helloService;@RequestMapping("/web/hello")public String hello() {//调用声明式的接口方法,实现对远程服务的调用return helloService.hello();}
}

第六步:属性配置
server.port=8083
# 配置服务的名称
spring.application.name=springcloud-service-feign
# 配置 eureka注册中心地址
eureka.client.service-url.defaultZone=http://eureka8761:8761/eureka/,http://eureka8762:8762/eureka/

第七步:测试
http://localhost:8082/web/hello
