久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

SpringCloud Feign遠(yuǎn)程調(diào)用公共類抽取【SpringCloud系列4】

 程序員讀書空間 2023-04-14 發(fā)布于浙江

本文章是系列文章中的一篇,,本文章實(shí)現(xiàn)的是 使用 FeignClient 來實(shí)現(xiàn)微服務(wù)之間的相互調(diào)用,,將所有的 FeignClient 封裝在一起


>Java架構(gòu)攻城師目錄
>SpringCloud 項(xiàng)目基礎(chǔ)工程搭建 【SpringCloud系列1】


前循環(huán)查詢訂單詳情接口

Feign是一個(gè)聲明式的http客戶端,,官方地址:

https://github.com/OpenFeign/feign

本項(xiàng)目中目前創(chuàng)建了兩個(gè)微服務(wù),,order-service 訂單服務(wù);user-service用戶服務(wù),,要實(shí)現(xiàn)的需求是在 訂單服務(wù)中,,調(diào)用 user-service用戶服務(wù)的查詢用戶詳情接口。

FeignClient用來聲明一個(gè)接口是一個(gè)Feign客戶端,,它可以輕松地與其他服務(wù)進(jìn)行通信,,而無需編寫大量的樣板代碼。

在SpringCloud 中,,有兩中方式來實(shí)現(xiàn)微服務(wù)之間的相互調(diào)用:

使用RestTemplate進(jìn)行服務(wù)間的HTTP調(diào)用

RestTemplate是Spring提供的用于訪問Rest服務(wù)的客戶端工具類

RestTemplate restTemplate = new RestTemplate();String result = restTemplate.getForObject("http://SERVICE-PROVIDER/hello", String.class); 
特使用Feign進(jìn)行服務(wù)間的HTTP調(diào)用

@FeignClient(value = "SERVICE-PROVIDER")public interface HelloService {    @RequestMapping(value = "/hello", method = RequestMethod.GET)    String hello();}

如下圖是本實(shí)例實(shí)現(xiàn)的微服務(wù)的一個(gè)基本調(diào)用方式:

首先創(chuàng)建一個(gè)module,,命名為feign-api

然后填寫 module 的基本信息 

然后刪除 自動(dòng)生成的多余的部分,留下空的項(xiàng)目


然后在 order-service 與 user-service 中添加 feign-api 的依賴如下

  <dependency>      <groupId>com.biglead</groupId>      <artifactId>feign-api</artifactId>      <version>1.0-SNAPSHOT</version>  </dependency>

然后在 feign-api 中添加 openfeign 的依賴如下

   <dependency>       <groupId>org.springframework.cloud</groupId>       <artifactId>spring-cloud-starter-openfeign</artifactId>   </dependency>
<!-- https:///artifact/org.springframework.cloud/spring-cloud-starter-loadbalancer --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-loadbalancer</artifactId> </dependency>
<!--httpClient連接池的依賴 --> <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-httpclient</artifactId>   </dependency>

Spring Cloud Starter OpenFeign 依賴是用于在 Spring Cloud 應(yīng)用程序中使用 OpenFeign 進(jìn)行聲明式 REST 調(diào)用的,。

spring-cloud-starter-loadbalancer 它提供了一個(gè)輕量級的客戶端負(fù)載均衡器,,可以用于在微服務(wù)架構(gòu)中進(jìn)行服務(wù)發(fā)現(xiàn)和負(fù)載均衡,。

Feign-HttpClient是一個(gè)Java HTTP客戶端,它是Feign庫的一部分,,用于簡化HTTP API客戶端的開發(fā),。它允許您使用注釋來定義HTTP API,然后使用Feign-HttpClient來處理HTTP請求和響應(yīng),。




然后在 feign-api 中創(chuàng)建一個(gè)調(diào)用用戶服務(wù)的 FeignUserClient 


FeignClient用來聲明一個(gè)接口是一個(gè)Feign客戶端,,它可以輕松地與其他服務(wù)進(jìn)行通信,而無需編寫大量的樣板代碼,。

然后在 order-service 的啟動(dòng)類中 指定Feign應(yīng)該掃描的包:

import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.openfeign.EnableFeignClients;

@EnableFeignClients(basePackages = "com.biglead.feign.clients")@SpringBootApplication@MapperScan(basePackages = "com.biglead.orderservice.mapper")public class OrderServiceApplication {
public static void main(String[] args) { SpringApplication.run(OrderServiceApplication.class, args); }
}

然后啟動(dòng)服務(wù)測試




當(dāng)然在實(shí)際業(yè)務(wù)處理中,,還有很多細(xì)節(jié)要進(jìn)行處理,一文很難說完善,,這里只是描述了核心的一個(gè)思想,。

最后就是源碼了:

https://gitee.com/android.long/spring-cloud-biglead/tree/master/biglead-api-04-feign

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多