spring cloud Feign(声明式服务调用)
2017-10-31 15:19
1256 查看
1、快速入门:
简介:Feign整合了Ribbon和Hystrix,除了提供这两者的强大功能之外,还提供了一种声明式的web服务客户端定义方式。使用步骤:
1、引入依赖2、在应用主类上添加@EnableFeignClients注解,如下:
package com.wuyonghu.feign; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.feign.EnableFeignClients; @EnableFeignClients @EnableDiscoveryClient @SpringBootApplication public class FeignApplication { public static void main(String[] args) { SpringApplication.run(FeignApplication.class, args); } }
3、定义一个接口,使用@FeignClient注解来绑定服务:
package com.wuyonghu.feign.service; import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.web.bind.annotation.RequestMapping; // 使用该注解,表示这里要使用哪个服务提供者 @FeignClient("wuyonghu-test-one") public interface HelloService { // 要调用该服务提供者的哪个方法 @RequestMapping("/hello") String hello(); }
4、在controller中调用service中的方法:
package com.wuyonghu.feign.controller; import com.wuyonghu.feign.service.HelloService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @RestController public class ConsunerController { @Autowired HelloService helloService; @RequestMapping(value = "/feign-consumer", method = RequestMethod.GET) public String helloCustomer() { return helloService.hello(); } }
解释说明:1、在controller层中调用helloService的hello方法,这里的hellService因为是HelloServer的实现类,而HelloService使用了@FeignClient注解,所以会自动将该注解对应的名字的服务提供者注入到服务中,而因为该服务存在hello的方法,所以这里调用.hello()方法的时候,相当于就调用了名为 wuyonghu-test-one的服务提供者的hello()的方法。
相关文章推荐
- 干货分享微服务spring-cloud(5.声明式服务调用feign)
- Spring Cloud中声明式服务调用Feign
- 【Spring Cloud】--声明式服务调用Feign
- 笔记:Spring Cloud Feign 声明式服务调用
- Spring Cloud 声明式服务调用 Feign
- SpringCloud零基础上手(四)——服务发现以及Feign(声明式RESTful服务调用)
- 第九章 Spring Cloud Feign声明式调用服务
- SpringCloud之声明式服务调用Spring Cloud Feign实例
- Spring Cloud Feign 声明式服务调用
- 【图文经典版】声明式调用服务SpringCloud之Feign实例讲解
- Spring Cloud 入门教程(六): 用声明式REST客户端Feign调用远端HTTP服务
- springcloud使用feign实现服务间条用,参数数据太大,无法调用成功解决方法
- 【微服务】之五:轻松搞定SpringCloud微服务-调用远程组件Feign
- spring cloud : 简化远程调用 (声明式远程调用Feign)
- SpringCloud 查找调用REST服务使用RestTemplate(ribbon负载)或feign模式 教程源码 火推
- spring cloud feign实现远程调用服务传输文件的方法
- 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务
- Spring Cloud Feign作为HTTP客户端调用远程HTTP服务,feign熔断器
- SpringCloud使用Feign进行服务调用
- 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务