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

Spring?Cloud?OpenFeign實例介紹使用方法

 更新時間:2022年09月10日 11:23:01   作者:C陳三歲  
Spring?Cloud?OpenFeign?對?Feign?進(jìn)行了二次封裝,使得在?Spring?Cloud?中使用?Feign?的時候,可以做到使用?HTTP?請求訪問遠(yuǎn)程服務(wù),就像調(diào)用本地方法一樣的,開發(fā)者完全感知不到這是在調(diào)用遠(yuǎn)程訪問,更感知不到在訪問?HTTP?請求

一. OpenFeign概述

OpenFeign 可以將提供者提供的 Restful 服務(wù)偽裝為接口進(jìn)行消費,消費者只需使用“ feign 接口 + 注解 ”的方式即可直接調(diào)用提供者提供的 Restful 服務(wù),而無需再使用 RestTemplate 。

注意:

  • Feign 只涉及到消費者端,與提供者端無關(guān)
  • Feign 僅僅是一個偽客戶端,其不會對請求做任何處理。即其與使用 RestTemplate 效果 是一樣的
  • Feign 是通過注解實現(xiàn)RESTful 請求的

二. 使用步驟

2.1 feign接口模塊

單獨將feign接口放在模塊中,方便后續(xù)為各個服務(wù)使用。

2.1.1依賴配置

springCloud版本使用

<properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR6</spring-cloud.version>
        <spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version>
    </properties>
    <dependencies>
        <!--fegin-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>

2.1.2編寫FeignClient的接口, 并加@FeignCleint 注解

url寫死在接口中不方便,可以使用動態(tài)參數(shù)配置,只需要在配置文件中添加key為feign.client.url的路徑。這里使用是單體模式,如果分布式項目中配置多個url管理起來非常費事,就需要升級使用注冊中心來解決。

import com.example.vo.DepartVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
// 注意,接口名與方法名可以隨意
// 參數(shù)指定了要訪問的提供者微服務(wù)名稱
//@FeignClient(url ="http://127.0.0.1:8081", value="abcmsc-provider-depart", path = "/provider/depart")
@FeignClient(url ="${feign.client.url}", value="abcmsc-provider-depart", path = "/provider/depart")
public interface DepartService {
    @PostMapping("/save")
    boolean saveDepart(@RequestBody DepartVO depart);
    @DeleteMapping("/del/{id}")
    boolean removeDepartById(@PathVariable("id") int id);
    @PutMapping("/update")
    boolean modifyDepart(@RequestBody DepartVO depart);
    @GetMapping("/get/{id}")
    DepartVO getDepartById(@PathVariable("id") int id);
    @GetMapping("/list")
    List<DepartVO> listAllDeparts();
}

2.2 消費端使用fegin接口

2.2.1在消費者端添加feign接口依賴

2.2.2在消費者端配置文件中添加 feign.client.url

指定服務(wù)端的url和端口

2.2.3在消費者端啟動類中添加@EnableFeignClients

開啟Feign功能:此注解會掃描啟動類所在的包及其子包下面@FeignClient標(biāo)注的接口,將其交給spring容器管理,方便后續(xù)使用。

2.2.4在消費者端使用fegin接口

需要在哪里使用接口直接注入后即可使用

import com.example.providerapi.DepartService;
import com.example.vo.DepartVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/consumer/depart")
public class DepartController {
    @Autowired
    private DepartService departService;
    @PostMapping("/save")
    public boolean saveHandle(@RequestBody DepartVO depart) {
 
        return departService.saveDepart(depart);
    }
    @DeleteMapping("/del/{id}")
    public void deleteHandle(@PathVariable("id") int id) {
        departService.removeDepartById(id);
    }
    @PutMapping("/update")
    public void updateHandle(@RequestBody DepartVO depart) {
        departService.modifyDepart(depart);
    }
    @GetMapping("/get/{id}")
    public DepartVO getHandle(@PathVariable("id") int id) {
        return departService.getDepartById(id);
    }
    @GetMapping("/list")
    public List<DepartVO> listHandle() {
        return departService.listAllDeparts();
    }
}

2.3 測試

啟動生產(chǎn)者服務(wù),消費者服務(wù)

http://localhost:8080/consumer/depart/save

到此這篇關(guān)于Spring Cloud OpenFeign實例介紹使用方法的文章就介紹到這了,更多相關(guān)Spring Cloud OpenFeign內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java開發(fā)之Jdbc分頁源碼詳解

    java開發(fā)之Jdbc分頁源碼詳解

    這篇文章主要介紹了java開發(fā)之Jdb分頁源碼詳解,需要的朋友可以參考下
    2020-02-02
  • spring AOP自定義注解方式實現(xiàn)日志管理的實例講解

    spring AOP自定義注解方式實現(xiàn)日志管理的實例講解

    下面小編就為大家分享一篇spring AOP自定義注解方式實現(xiàn)日志管理的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 徹底搞懂Java多線程(四)

    徹底搞懂Java多線程(四)

    這篇文章主要給大家介紹了關(guān)于Java面試題之多線程和高并發(fā)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • 詳解用JWT對SpringCloud進(jìn)行認(rèn)證和鑒權(quán)

    詳解用JWT對SpringCloud進(jìn)行認(rèn)證和鑒權(quán)

    這篇文章主要介紹了詳解用JWT對SpringCloud進(jìn)行認(rèn)證和鑒權(quán),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • SpringBoot中的404錯誤:原因、影響及解決策略

    SpringBoot中的404錯誤:原因、影響及解決策略

    本文詳細(xì)介紹了SpringBoot中404錯誤的出現(xiàn)原因、影響以及處理策略,404錯誤常見于URL路徑錯誤、控制器配置問題、靜態(tài)資源配置錯誤、依賴缺失或版本不兼容、配置錯誤和服務(wù)器配置問題,解決方法包括檢查URL路徑、審查控制器配置、配置靜態(tài)資源
    2025-02-02
  • Java一些常見的出錯異常處理方法總結(jié)

    Java一些常見的出錯異常處理方法總結(jié)

    下面小編就為大家?guī)硪黄狫ava一些常見的出錯異常處理方法總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Java對象的XML序列化與反序列化實例解析

    Java對象的XML序列化與反序列化實例解析

    這篇文章主要介紹了Java對象的XML序列化與反序列化實例解析,小編覺得還是挺不錯的,這里分享給大家。
    2017-10-10
  • Java實現(xiàn)定時任務(wù)的方法總結(jié)

    Java實現(xiàn)定時任務(wù)的方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了Java中實現(xiàn)定時任務(wù)的常用7中方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的小伙伴可以參考一下
    2023-06-06
  • Java Jedis NOAUTH Authentication required問題解決方法

    Java Jedis NOAUTH Authentication required問題解決方法

    這篇文章主要介紹了Java Jedis NOAUTH Authentication required問題解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • JavaWeb導(dǎo)出Excel文件并彈出下載框

    JavaWeb導(dǎo)出Excel文件并彈出下載框

    這篇文章主要為大家詳細(xì)介紹了JavaWeb導(dǎo)出Excel文件并彈出下載框的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-06-06

最新評論

宁南县| 平顶山市| 博乐市| 云南省| 云南省| 曲阜市| 和硕县| 盐边县| 高淳县| 邢台市| 双峰县| 栾城县| 吴忠市| 连平县| 新宁县| 广灵县| 微山县| 南江县| 抚州市| 安西县| 晋州市| 石台县| 红原县| 屯门区| 额尔古纳市| 潍坊市| 黄山市| 子洲县| 中超| 温州市| 新密市| 苏尼特右旗| 华阴市| 海城市| 出国| 洱源县| 衡东县| 望江县| 贵南县| 九江县| 纳雍县|