11SpringCloud - Feign项目导入简述

    xiaoxiao2022-06-25  190

    添加依赖

    新建项目 spring-cloud-feign-consumer pom.xml中引入需要的依赖内容:

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

    开启Feign

    在工程的启动类中,通过@EnableFeignClients 注解开启Feign的功能:

    @EnableFeignClients @EnableDiscoveryClient @SpringBootApplication public class FeignConsumerApplication { public static void main(String[] args) { SpringApplication.run(FeignConsumerApplication.class, args); } }

    定义接口

    通过@FeignClient("服务名"),来指定调用哪个服务。 比如在代码中调用了eureka-provider服务的 / 接口,/ 就是调用:服务提供者项目:spring-cloud-eureka-provider-1,spring-cloud-eureka-provider-2,spring-cloud-eureka-provider-3的 home() 方法,代码如下:

    @FeignClient("eureka-provider") public interface HomeClient { @GetMapping("/") String consumer(); }

    消费方法

    写一个 Controller,消费提供者的 home 方法

    @RestController public class ConsumerController { @Autowired private HomeClient homeClient; @GetMapping(value = "/hello") public String hello() { return homeClient.consumer(); } }

    添加配置

    完整配置 application.yml

    指定注册中心地址,配置自己的服务名称

    eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ spring: application: name: feign-consumer server: port: 9000

    测试服务

    依次启动项目:

    spring-cloud-eureka-service spring-cloud-eureka-provider-1 spring-cloud-eureka-provider-2 spring-cloud-eureka-provider-3 spring-cloud-feign-consumer

    启动该工程后,访问服务注册中心,查看服务是否都已注册成功:http://localhost:8761/

    负载均衡响应

    在命令窗口curl http://localhost:9000/hello,发现Feign已经实现负载均衡

    或者浏览器get 请求http://localhost:9000/helloF5 刷新


    最新回复(0)