最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼

 更新時(shí)間:2024年01月19日 11:10:03   作者:wx59bcc77095d22  
Feign是一個(gè)開源的Java HTTP客戶端,可以幫助我們?cè)赟pringBoot應(yīng)用中快速構(gòu)建和使用HTTP客戶端,方便實(shí)現(xiàn)服務(wù)間的通信,本文就來介紹一下SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼,感興趣的可以了解一下

一、前言

在分布式系統(tǒng)中,服務(wù)間通信是非常常見的情況。Feign是一個(gè)開源的Java HTTP客戶端,可以幫助我們?cè)赟pringBoot應(yīng)用中快速構(gòu)建和使用HTTP客戶端,方便實(shí)現(xiàn)服務(wù)間的通信。與其他HTTP客戶端相比,F(xiàn)eign具有簡(jiǎn)化 HTTP API定義、支持多種HTTP請(qǐng)求方法、支持請(qǐng)求和響應(yīng)的壓縮、支持請(qǐng)求和響應(yīng)的日志記錄、支持多種負(fù)載均衡器、支持自定義攔截器和錯(cuò)誤處理器等特點(diǎn)。

二、SpringBoot集成

1.添加依賴

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
    <version>3.1.5</version>
</dependency>

2.啟用Feign客戶端

我們需要在啟動(dòng)類上添加@EnableFeignClients注解,啟用Feign客戶端。

package com.example.nettydemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;


@SpringBootApplication
@EnableFeignClients
public class NettyDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(NettyDemoApplication.class, args);
    }
}

3.定義Feign客戶端接口

@FeignClient注解里面的url指定需要請(qǐng)求的URL地址,name指定客戶端的名稱。

package com.example.nettydemo.feign;

import com.example.nettydemo.entity.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * @author qx
 * @date 2023/12/28
 * @des Feign客戶端
 */
@FeignClient(url = "http://127.0.0.1:8090/user", name = "user")
public interface UserFeignClient {


    @GetMapping("/{id}")
    User selectUserById(@PathVariable("id") Long id);

}

4.定義目標(biāo)控制層接口

package com.example.nettydemo.controller;

import com.example.nettydemo.entity.User;
import com.example.nettydemo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author qx
 * @date 2023/12/28
 * @des
 */
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;


    @GetMapping("/{id}")
    public User selectUserById(@PathVariable("id") Long id) {
        return userService.getUserById(id);
    }
}

5.創(chuàng)建Feign測(cè)試控制層

package com.example.nettydemo.controller;

import com.example.nettydemo.entity.User;
import com.example.nettydemo.feign.UserFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author qx
 * @date 2023/12/28
 * @des Feign測(cè)試
 */
@RestController
@RequestMapping("/userFeign")
public class UserFeignController {

    @Autowired
    private UserFeignClient userFeignClient;

    @GetMapping("/{id}")
    public User getUserInfo(@PathVariable("id") Long id) {
        return userFeignClient.selectUserById(id);
    }
}

6.測(cè)試

我們先測(cè)試目標(biāo)請(qǐng)求接口是否正確。

SpringBoot使用Feign進(jìn)行服務(wù)間通信_(tái)通信

然后我們?cè)偈褂肍eign的方式請(qǐng)求接口的方式進(jìn)行測(cè)試。

SpringBoot使用Feign進(jìn)行服務(wù)間通信_(tái)通信_(tái)02

這樣我們使用Feign方式請(qǐng)求,成功請(qǐng)求目的地址獲取到了一樣的數(shù)據(jù)。

到此這篇關(guān)于SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼的文章就介紹到這了,更多相關(guān)SpringBoot Feign服務(wù)間通信 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 為什么Java是程序員受歡迎的語言這幾個(gè)原因你該清楚

    為什么Java是程序員受歡迎的語言這幾個(gè)原因你該清楚

    Java一直穩(wěn)居程序員很受歡迎的編程語言的榜首,是企業(yè)中使用最廣泛的編程語言。這篇文章主要介紹了為什么Java是程序員受歡迎的語言這幾個(gè)原因你該清楚,需要的朋友可以參考下
    2020-07-07
  • SpringBoot 監(jiān)聽Redis鍵過期事件(過期監(jiān)聽)

    SpringBoot 監(jiān)聽Redis鍵過期事件(過期監(jiān)聽)

    Redis鍵過期事件是SpringBoot中常用的緩存失效通知方式,通過配置可以監(jiān)聽特定鍵的過期事件,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • Java中==與equals的區(qū)別小結(jié)

    Java中==與equals的區(qū)別小結(jié)

    這篇文章主要介紹了Java中==與equals的區(qū)別小結(jié),本文總結(jié)結(jié)論:== 與 equals()比較的內(nèi)容是不同的,equals()方式是String類中的方法,它用于比較兩個(gè)對(duì)象引用所指的內(nèi)容是否相等,而 == 比較的是兩個(gè)對(duì)象引用的地址是否相等,需要的朋友可以參考下
    2015-06-06
  • JavaMail實(shí)現(xiàn)帶附件的郵件發(fā)送

    JavaMail實(shí)現(xiàn)帶附件的郵件發(fā)送

    這篇文章主要為大家詳細(xì)介紹了JavaMail實(shí)現(xiàn)帶附件的郵件發(fā)送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 讓Java程序自動(dòng)重啟的實(shí)現(xiàn)方法(推薦)

    讓Java程序自動(dòng)重啟的實(shí)現(xiàn)方法(推薦)

    下面小編就為大家?guī)硪黄孞ava程序自動(dòng)重啟的實(shí)現(xiàn)方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • java.lang.Runtime.exec() Payload知識(shí)點(diǎn)詳解

    java.lang.Runtime.exec() Payload知識(shí)點(diǎn)詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于java.lang.Runtime.exec() Payload知識(shí)點(diǎn)相關(guān)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2020-03-03
  • Java 添加、讀取和刪除 Excel 批注的操作代碼

    Java 添加、讀取和刪除 Excel 批注的操作代碼

    這篇文章主要介紹了Java 添加、讀取和刪除 Excel 批注的操作方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • SpringCloud重試機(jī)制配置詳解

    SpringCloud重試機(jī)制配置詳解

    本篇文章主要介紹了SpringCloud重試機(jī)制配置詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • 完美解決idea突然間很卡的問題

    完美解決idea突然間很卡的問題

    這篇文章主要介紹了完美解決idea突然間很卡的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • MyBatis+MyBatisPlus中遇到的一些坑及解決

    MyBatis+MyBatisPlus中遇到的一些坑及解決

    這篇文章主要介紹了MyBatis+MyBatisPlus中遇到的一些坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評(píng)論

新闻| 偏关县| 佛坪县| 五峰| 四平市| 鄯善县| 五寨县| 凤冈县| 黄梅县| 达拉特旗| 乌海市| 包头市| 沙田区| 鄂伦春自治旗| 湘西| 永昌县| 宕昌县| 尉犁县| 祁阳县| 洞口县| 长沙市| 凤阳县| 洛阳市| 辰溪县| 霍山县| 诏安县| 岢岚县| 库尔勒市| 溧阳市| 通山县| 永寿县| 红河县| 长春市| 哈密市| 兰溪市| 南靖县| 科尔| 吉林省| 偏关县| 泰来县| 亚东县|