springcloud应用之feign
阅读提示
feign是什么
feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。
为什么需要feign
使用restTemplate调用另一个微服务还是有点麻烦,这就需要有人站出来,把这种复杂屏蔽,给我们看的只是controller调用service,这就是feign
如何使用
因为spring-cloud-starter-netflix-eureka-client没有依赖feign,所以我们得手动加上feign
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
启动类加上@EnableFeignClients
加个OrderService接口
@FeignClient(name = "order")
public interface OrderService {
@RequestMapping("order")
String queryOrder();
}
调用方式
@Autowired
private OrderService orderService;
@RequestMapping("queryOrderByFeign")
public String queryOrderByFeign(){
return orderService.queryOrder();
}