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

Spring?Cloud?OpenFeign實(shí)例介紹使用方法

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

一. OpenFeign概述

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

注意:

  • Feign 只涉及到消費(fèi)者端,與提供者端無(wú)關(guān)
  • Feign 僅僅是一個(gè)偽客戶(hù)端,其不會(huì)對(duì)請(qǐng)求做任何處理。即其與使用 RestTemplate 效果 是一樣的
  • Feign 是通過(guò)注解實(shí)現(xiàn)RESTful 請(qǐng)求的

二. 使用步驟

2.1 feign接口模塊

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

2.1.1依賴(lài)配置

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編寫(xiě)FeignClient的接口, 并加@FeignCleint 注解

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

import com.example.vo.DepartVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
// 注意,接口名與方法名可以隨意
// 參數(shù)指定了要訪(fǎng)問(wèn)的提供者微服務(wù)名稱(chēng)
//@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 消費(fèi)端使用fegin接口

2.2.1在消費(fèi)者端添加feign接口依賴(lài)

2.2.2在消費(fèi)者端配置文件中添加 feign.client.url

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

2.2.3在消費(fèi)者端啟動(dòng)類(lèi)中添加@EnableFeignClients

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

2.2.4在消費(fèi)者端使用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 測(cè)試

啟動(dòng)生產(chǎn)者服務(wù),消費(fèi)者服務(wù)

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

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

相關(guān)文章

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

    java開(kāi)發(fā)之Jdbc分頁(yè)源碼詳解

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

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

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

    徹底搞懂Java多線(xiàn)程(四)

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

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

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

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

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

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

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

    Java對(duì)象的XML序列化與反序列化實(shí)例解析

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

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

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

    Java Jedis NOAUTH Authentication required問(wèn)題解決方法

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

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

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

最新評(píng)論

交城县| 富民县| 叶城县| 美姑县| 阿克| 临海市| 永善县| 北票市| 澳门| 额尔古纳市| 乐至县| 绥宁县| 平邑县| 商都县| 上高县| 万荣县| 鄂托克前旗| 阳东县| 敦煌市| 穆棱市| 含山县| 介休市| 公安县| 门源| 金门县| 瑞丽市| 镇雄县| 肥西县| 平陆县| 霍林郭勒市| 阿鲁科尔沁旗| 乡宁县| 祁东县| 凤庆县| 莫力| 鄂伦春自治旗| 通辽市| 屏东县| 阜新| 阜平县| 邹城市|