本文内容如有错误、不足之处,欢迎技术爱好者们一同探讨,在本文下面讨论区留言,感谢。
简述
Spring Cloud OpenFeign 用于 Spring Boot 应用程序的声明式 REST 客户端。 Feign 创建一个用 JAX-RS 或 Spring MVC 注释修饰的接口的动态实现。
整合了 Spring Cloud Ribbon 和 Spring Cloud Hytrix , Spring Cloud OpenFeign 支持 Spring MVC注释的使用。
下面是官网的一个示例代码:
@SpringBootApplication
@EnableFeignClients
public class WebApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
@FeignClient("name")
static interface NameService {
@RequestMapping("/")
public String getName();
}
}
通过上面的代码可以发现,使用 Feign 可以很方便的实现熔断和 fallback;
使用
官网对于 Feign 的介绍:
Feign 有两个主要注解:
- @EnableFeignClients 用于开启 feign 功能
- @FeignClient 用于定义 feign 接口
下面详细介绍如何使用,首先创建一个 Spring Boot Web 项目
依赖关系
- 在 pom.xml 文件中添加 spring-cloud-starter-openfeign 依赖关系:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
- 添加 spring-cloud-dependencies 继承关系
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
结论
本文简单介绍如何使用 Spring Cloud OpenFeign。
参考资料
Spring Cloud OpenFeign
Introduction to Spring Cloud OpenFeign(Spring Cloud OpenFeign简介)