SpringCloud教程- 服务消费者(Feign)(SpringCloud版本Finchley)
文章目录
- 一、Feign简介
- 二、 环境准备
- 三、创建基于Feign服务
- 定义启动类
- pom文件配置
- 配置文件application.yml
- 定义一个feign接口
- 定义一个controller
前言:上篇文章讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何使用Feign去消费服务
代码地址:github-spring-cloud地址
一、Feign简介
Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API。在Spring Cloud中,使用Feign非常简单——创建一个接口,并在接口上添加一些注解,代码就完成了。Feign支持多种注解,例如Feign自带的注解或者JAX-RS注解等。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。
总结:
- Feign 采用的是基于接口的注解
- Feign 整合了ribbon
二、 环境准备
使用上一章功能启动eureka-server 和eureka-hello
三、创建基于Feign服务
定义启动类
注解@EnableFeignClients表明通过feign方式调用服务
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ServiceFeignApplication {public static void main(String[] args) {SpringApplication.run(ServiceFeignApplication.class, args);}}
pom文件配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>spring-cloud-learn</artifactId><groupId>com.sl.learn.cloud</groupId><version>1.0-SNAPSHOT</version><relativePath>..</relativePath></parent><modelVersion>4.0.0</modelVersion><groupId>com.sl.learn.cloud</groupId><artifactId>eureka-feign</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency></dependencies></project>
注意SpringCloud版本为Finchley,feign版本用的是
spring-cloud-starter-openfeign
配置文件application.yml
server:port: 8086spring:application:name: eureka-feigneureka:client:serviceUrl:defaultZone: http://localhost:8080/eureka/management:endpoints:web:exposure:include: '*'endpoint:health:show-details: alwaysshutdown:enabled: true
定义一个feign接口
通过@ FeignClient(“服务名”),来指定调用哪个服务
@FeignClient("eureka-hello")
public interface FeignService {@RequestMapping(value = "/hi",method = RequestMethod.GET)String sayHiFromClientOne(@RequestParam(value = "name") String name);
}
定义一个controller
在Web层的controller层,对外暴露一个"/hi"的API接口,通过上面定义的Feign客户端SchedualServiceHi 来消费服务
@RestController
public class FeignController {@AutowiredFeignService feignService;@RequestMapping(value = "/hi",method = RequestMethod.GET)public String feign(@RequestParam(value = "name") String name) {return feignService.sayHiFromClientOne(name);}
}
SpringCloud教程- 服务消费者(Feign)(SpringCloud版本Finchley)相关推荐
- SpringCloud教程- 服务消费者(rest+ribbon)(SpringCloud版本Finchley)
文章目录 一.ribbon介绍 二.启动两个实例 三.建一个服务消费者(ribbon) 四. Ribbon调用总结 代码地址:github-spring-cloud地址 前言:在上一篇文章,讲了服务的 ...
- Spring Cloud(四)服务提供者 Eureka + 服务消费者 Feign
上一篇文章,讲述了如何通过RestTemplate + Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务. Feign简介 Feign是一个声明式的伪Http客户端,它使得写Htt ...
- SpringCloud教程-服务的注册与发现Eureka(SpringCloud版本Finchley)
文章目录 SpringCloud简介 创建注册中心(基于Eureka) 创建maven工程 创建maven子工程 eureka-server服务端pom文件 eureka-server服务端配置文件 ...
- SpringCloud教程- 服务链路追踪(Spring Cloud Sleuth)(SpringCloud版本Greenwich.SR4)
文章目录 一.Sleuth简介 二.为何使用Sleuth 三.构建工程 server-zipkin zipkin-serivce-hi zipkin-server-hello 四. 启动工程演示 代码 ...
- SpringCloud微服务使用Feign如何暴露接口并整合SpringBoot测试
文章目录 一. 问题背景 二. 解决方案 2.1 实现生产者中的接口 2.2 暴露接口 2.3 远程调用 2.4 SpringBoot整合测试 2.5 开始测试 三. 回调处理 四. 踩坑记录 一. ...
- SpringCloud教程- 路由网关Zuul (SpringCloud版本Greenwich.SR4)
文章目录 Zuul简介 创建zuul-gateway工程 服务过滤 代码地址:github-spring-cloud地址 Zuul简介 Zuul是NetFlix开源的微服务网关,它可以和Eureka. ...
- SpringCloud教程-注册中心(Consul)(SpringCloud版本Greenwich.SR4)
文章目录 consul简介 Consul 的优势: 创建工程consul-client 代码地址: github-spring-cloud地址 consul简介 Consul 是 HashiCorp ...
- 学习微服务服务消费者——Feign
2019独角兽企业重金招聘Python工程师标准>>> 微服务之间的调用除了restTemplate+ribbon,还有一种方式就是Feign 1.新建一个feign服务 build ...
- Spring Cloud第三篇:服务消费者Feign
上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务. 一.Feign简介 Feign是一个声明式的伪Http客户端,它使得写Htt ...
最新文章
- ubutu14.04无法使用sudo,也无法切换到root用户去解决问题怎么办?
- Linux下常用 60个命令
- 重启修复计算机怎么操作,如何以安全模式启动电脑,修复系统故障,这4个方法值得一试...
- MYSQL学习笔记 (三)JOIN用法
- 2020年中国互联网租车报告
- 把emacs的插件和配置文件备份到github上去了。
- 用户与组在Linux 菜单,linux 用户和组的管理
- 加/减/乘/除 下的取余
- Java-数据库连接池第一篇
- Obsidian V0.14.6版本下实时渲染总是出Bug,时常渲染不出来
- mouseenter和mouseleave与mouseover和mouseout的区别
- Codeforces407C Curious Array
- LVM逻辑卷快照的添加,删除逻辑卷!
- 音视频怎样入门?带你入门基础+学习思路
- springBoot+layui 压缩包 直接下载--或--直接压缩并下载方法
- win32api之虚拟键盘
- MATLAB连接USRP
- C语言实现存款利息计算
- 【一文弄懂】张正友标定法-完整学习笔记-从原理到实战
- Element UI设置文本输入框、选择框、数字、日期组件的背景色