目录
Feign
简介
Feign
是 Netflix
开发的声明式、模板化的 HTTP
客户端,它使得 HTTP
请求变得更简单,Feign
底层的使用的 HTTP
通信框架是 HttpClient
。Feign
默认集成了Ribbon
和 Hystrix
,并和 Eureka
结合,默认实现了负载均衡的效果
Feign
的英文表意为“假装,伪装,变形”, 是一个 http
请求调用的轻量级框架,可以以 Java
接口注解的方式调用 Http
请求,而不用像 Java
中通过封装 HTTP
请求报文的方式直接调用。Feign
通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观
Feign
被广泛应用在 springCloud
的解决方案中,是学习基于 springCloud
微服务架构不可或缺的重要组件
开源项目地址:https://github.com/OpenFeign/feign
Feign
组件的使用示例
导入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
在主启动类上开启 Feign
在服务调用方的主启动类上标注注解 @EnableFeignClients
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients // 在主启动类上开启 Feign
public class UserApplication {
private static final Logger log = LoggerFactory.getLogger(UserApplication.class);
public static void main(String[] args) {