【spring cloud】feign组件的使用

本文详细介绍了如何在Spring Cloud体系中利用Feign组件进行简单配置,包括引入依赖、启动类注解、接口实现、超时配置及实际调用。通过实例演示了如何将接口注入并进行远程服务调用,提升开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

feign组件在spring cloud体系中主要负责方法的远程调用,有了它,调用其他应用的接口,不需要使用RestTemplate那么麻烦,在简单的配置后,可以直接将接口Autowired进来,直接调就好,很简单。这里主要讲下怎么简单的配置下feign。

  1. 引入依赖
    部分依赖如下所示:
    feign的依赖,
        <!--feign-client-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

被调用方提供的接口层依赖,

        <dependency>
            <groupId>org.example</groupId>
            <artifactId>feign-client-intf</artifactId>
            <version>${project.version}</version>
        </dependency>
  1. 启动类加入注解
    为启动类加上@EnableFeignClients,
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class FeignConsumerApp {

    public static void main(String[] args) {
        new SpringApplicationBuilder(FeignConsumerApp.class)
                .web(WebApplicationType.SERVLET)
                .run(args);
    }
}
  1. 继承被调用方接口,指定调用的服务,实现feign客户端
    注意,这里的服务名,应是eureka上注册的名称
@FeignClient(name = "feign-client")
public interface MyService extends IService{
}
  1. 也可以加入自己需要的配置
    如超时等配置,
    部分配置如下所示,
spring:
  main:
    allow-bean-definition-overriding: true
  application:
    name: feign-consumer-advanced

server:
  port: 40001

eureka:
  client:
    serviceUrl:
      #注册中心地址
      defaultZone: http://localhost:20000/eureka/

feign-client:
  ribbon:
    #每台机器最大的重试次数
    MaxAutoRetries: 0
    #可以再重试几台机器
    MaxAutoRetriesNextServer: 1
    #连接超时时间(ms)
    ConnectTimeout: 1000
    #业务处理超时(ms)
    ReadTimeout: 2000
    #在所有类型的HTTP Method进行重试
    #默认为false,仅在不改动数据(查)的情况下进行重试
    #为true时,要特别注意幂等问题
    OkToRetryOnAllOperations: true
  1. 将接口注入,实现远程调用
    @Autowired
    private MyService myService;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值