21-springcloud-feign-3-使用Feign实现消费者

使用 Feign 实现消费者,我们通过下面步骤进行: 

第一步:创建普通 Spring Boot 工程

把接口放在通用的接口层、常量类、model的项目中

第二步:添加依赖

spring-cloud-starter-netflix-eureka-client 和 spring-cloud-starter-feign,如下:

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

:声明服务

定义一个 GoodsRemoteClient 接口,通过@FeignClient 注解来指定服务名称,进而绑定服务,然后再通过 SpringMVC 中提供的注解来绑定服务提供者提供的接口, 如下:

@FeignClient("SPRINGCLOUD-SERVICE-GOODS")

public interface GoodsService {

@RequestMapping("/service/goods")

public String goods();

}

这相当于绑定了一个名叫 SPRINGCLOUD-SERVICE-GOODS (这里SPRINGCLOUD-SERVICE-GOODS大小写springcloud-service-goods 都可以 ) 的服务提供者提供的/service/goods 接口;

 

:添加注解

 

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

 

第五步:使用 Controller 中调用服务

 

接着来创建一个 Controller 来调用上面的服务,如下:

 

public class GoodsController {

    @Autowired
    private GoodsService goodsService;

    /**
     * 使用feign进行调用
     *
     * @return
     */
    @RequestMapping("/cloud/goodsFeign")
    public ResultObject goodsFeign() {
        //调用远程的一个controller, restful的调用
        return goodsService.goods();
    }
}

第六步:属性配置

application.properties 中指定服务注册中心、端口号等信息,如下:

server.port=8090

#打开所有的web访问端点
management.endpoints.web.exposure.include=*

#此实例注册到eureka服务端的name
spring.application.name=springcloud-service-feign

#不注册自己,我是一个消费者,别人如果不调用我的话,我就不用注册
eureka.client.register-with-eureka=false
#每间隔2s,向服务端发送一次心跳,证明自己依然"存活"
eureka.instance.lease-renewal-interval-in-seconds=2
#告诉服务端,如果我10s之内没有给你发心跳,就代表我故障了,将我踢出掉
eureka.instance.lease-expiration-duration-in-seconds=10
#告诉服务端,服务实例以IP作为链接,而不是取机器名
eureka.instance.prefer-ip-address=true
#告诉服务端,服务实例的唯一ID
eureka.instance.instance-id=springcloud-service-feign

#eureka注册中心的连接地址
#eureka.client.service-url.defaultZone=http://eureka8761:8761/eureka
#eureka.client.service-url.defaultZone=http://eureka8761:8761/eureka,http://eureka8762:8762/eureka,http://eureka8763:8763/eureka
eureka.client.service-url.defaultZone=http://192.168.10.128:8761/eureka,http://192.168.10.128:8762/eureka,http://192.168.10.128:8763/eureka

 

 

 

 

posted on   companion  阅读(54)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示