一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringCloud之Feign示例詳解

SpringCloud之Feign示例詳解

2021-03-19 13:15Bob_F Java教程

本篇文章主要介紹了SpringCloud之Feign示例詳解,詳細的介紹了Feign簡介和使用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Feign簡介

Feign 是一個聲明web服務客戶端,這便得編寫web服務客戶端更容易,使用Feign 創建一個接口并對它進行注解,它具有可插拔的注解支持包括Feign注解與JAX-RS注解,Feign還支持可插拔的編碼器與解碼器,Spring Cloud 增加了對 Spring MVC的注解,Spring Web 默認使用了HttpMessageConverters, Spring Cloud 集成 Ribbon 和 Eureka 提供的負載均衡的HTTP客戶端 Feign.

聲明式REST客戶端:Feign

先要啟動eureka_register_service工程(注冊中心)和biz-service-0工程(服務生產者)

創建一個maven工程eureka_feign_client

pom.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<parent>
 
<groupId>org.springframework.boot</groupId>
 
<artifactId>spring-boot-starter-parent</artifactId>
 
<version>1.4.3.RELEASE</version>
 
<relativePath/> <!-- lookup parent from repository -->
 
</parent>
 
<properties>
 
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
<java.version>1.8</java.version>
 
</properties>
 
<dependencies>
 
  <dependency>
 
    <groupId>org.springframework.cloud</groupId>
 
    <artifactId>spring-cloud-starter-feign</artifactId>
 
  </dependency>
 
  <dependency>
 
    <groupId>org.springframework.cloud</groupId>
 
    <artifactId>spring-cloud-starter-eureka</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-test</artifactId>
 
    <scope>test</scope>
 
  </dependency>
 
</dependencies>
 
<dependencyManagement>
 
  <dependencies>
 
    <dependency>
 
  <groupId>org.springframework.cloud</groupId>
 
  <artifactId>spring-cloud-dependencies</artifactId>
 
  <version>Brixton.SR5</version>
 
  <type>pom</type>
 
  <scope>import</scope>
 
</dependency>
 
  </dependencies>
 
</dependencyManagement>

在應用主類中通過@EnableFeignClients注解開啟Feign功能

啟動文件FeignApplication.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@SpringBootApplication
 
@EnableDiscoveryClient
 
@EnableFeignClients
 
public class FeignApplication {
 
  public static void main(String[] args) {
 
    SpringApplication.run(FeignApplication.class, args);
 
  }
}

定義服務接口類UserClient.java

使用@FeignClient("biz-service-0")注解來綁定該接口對應biz-service-0服務

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@FeignClient("biz-service-0")
 
public interface UserClient {
 
  @RequestMapping(method = RequestMethod.GET, value = "/getuser")
 
  public User getuserinfo();  
 
  @RequestMapping(method = RequestMethod.GET, value = "/getuser")
 
  public String getuserinfostr();  
 
  @RequestMapping(method = RequestMethod.GET, value = "/info")
 
  public String info();
}

在web層中調用上面定義的UserController,具體如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@RestController
 
public class UserController {
 
  @Autowired
 
  UserClient userClient;
 
  @RequestMapping(value = "/getuserinfo", method = RequestMethod.GET)
 
  public User getuserinfo() {
 
    return userClient.getuserinfo();
 
  }
 
  @RequestMapping(value = "/getuserinfostr", method = RequestMethod.GET)
 
  public String getuserinfostr() {
 
    return userClient.getuserinfostr();
  }
 
  @RequestMapping(value = "/info", method = RequestMethod.GET)
 
  public String info() {
 
    return userClient.info();
 
  }
}

application.properties配置變量

?
1
2
3
4
5
spring.application.name=feign-consumer
 
server.port=8004
 
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/

訪問 http://127.0.0.1:8004/getuserinfo

總結:

其實通過Feign封裝了HTTP調用服務方法,使得客戶端像調用本地方法那樣直接調用方法,類似Dubbo中暴露遠程服務的方式,區別在于Dubbo是基于私有二進制協議,而Feign本質上還是個HTTP客戶端

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/xiaojunbo/p/7094377.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 果冻传媒 天美 麻豆 | 日本不卡高清免费v日本 | 波多野结衣中文字幕在线 | 日本护士撒尿xxxxhd | 四虎在线永久免费视频网站 | 亚洲国产精品ⅴa在线观看 亚洲国产高清一区二区三区 | 久久精品视频免费 | 26uuu老色哥 236宅宅2021最新理论 | 99爱视频 | 办公室操秘书 | 日本艳鉧动漫1~6完整版在 | 亚洲人的天堂男人爽爽爽 | 99在线免费视频 | 美味情缘韩国在线观看视频 | 免费看一级毛片 | 国产目拍亚洲精品一区二区三区 | 四虎影院在线免费观看视频 | 大肥婆丰满大肥奶bbw肥 | 操动漫美女视频 | 4455四色永久免费 | 男人曰女人 | 9lporm自拍视频在线 | 欧美综合在线 | 午夜福利08550 | 国产第一自拍 | 五月天视频网 | 草莓视频旧版本 | sss在线播放 | www.色婷婷.com| 惊弦45集免费看 | 韩国三级在线观看 完整版 韩国三级视频网站 | 日韩欧美一区二区在线观看 | 亚洲国产午夜 | 干美女视频 | 99热这里只有精品国产在热久久 | 32pao强力打造免费高速高 | 干美女在线视频 | 毛片 ftp | 2018久久精品热在线观看 | 黑人巨鞭大战白妞10级 | 福利三区|