網站首頁 編程語言 正文
SpringCloud之http客戶端Feign
注:這里的案例續SpringCloud 分布式微服務架構
先回憶一下RestTemplate,我們之前是怎么是用的。
我們初步用它是做遠程的微服務的調用的。
主要的代碼
但是這樣的存在的問題就是代碼的可讀性并不是很
強。而且這樣如果服務比較多的話,每次都需要將服務名一個一個的配置到url里面,這樣的url也是不好維護的。
最最最重要的一點啊它不夠優雅,我們尋求最優雅的方式。那么到底如何做到優雅的呢?一步一步來。
按照常規的方式首先必然是需要導入依賴,我們需要在客戶端微服務導入這個依賴。然后整個feign的操作都在客戶端的這個模塊中操作。
但是其實我們可以把FeifnClient抽取為獨立的模塊,將功能模塊獨立化的好處就是我們的解耦化更高,當然這個必須要考慮到整體項目環境的合理性。
抽取的前提是你要明白它在整體的微服務里面扮演了什么樣的角色。我們用這個代替了RestTemplate,那么作用實際上是一個對userservice的訪問接口,也就是客戶端對服務端的訪問接口。
單獨抽取出來的作用降低了耦合另外也方便我們將來其他的客戶端去使用到這個接口。
整體的使用思路劃分
首先我們創建一個模塊。
首先說明該模塊需要的依賴
feign-api模塊這里我們只需要這樣一個依賴。
然后我們需要去客戶端引入相關的依賴。
為什么這里還需要單獨引入feign-api這個模塊依賴,因為我們需要使用到它的一些東西。畢竟是兩個模塊,我們將一些東西抽離出去,這里沒有引入的話,會出現問題。
我們看feign-api這個模塊做了哪些事情。
這個日志配置可以根據自己的需要來配置,也可以在配置文件中配置。
下面我們來看客戶端。首先我們在service中調用到這個·接口的東西,因為我們會在這里有訪問服務端接口。這里注入了bean。
當然我們還需要在啟動類這里配置一下。
還有一點,配置文件的配置
具體就是這么多,框架就是這樣,簡化的同時也帶來了配置的懵逼。
測試的人話是沒什么問題的。項目啟動的話,一定要加載完畢后測試。
本來想和springcloud那篇并在一起的,但是感覺文章有點臃腫。就分散開吧。依賴配置的話沒什么技巧,記住用哪些就行了,實在不行自己做過一次配置就保留好,用的時候cv大法,或者對照著,就不要專門因為依賴導入配置相關費心。
原文鏈接:https://blog.csdn.net/jgdabc/article/details/125724434
相關推薦
- 2022-05-06 利用python繪制笛卡爾直角坐標系_python
- 2021-11-22 C++?STL中五個常用算法使用教程及實例講解_C 語言
- 2022-11-21 解析Rust?struct?中的生命周期_Rust語言
- 2022-05-11 springboot多版本管理
- 2022-12-14 C++?容器中map和unordered?map區別詳解_C 語言
- 2022-08-04 Python并發編程之IO模型_python
- 2022-06-16 Air實現Go程序實時熱重載使用過程解析示例_Golang
- 2023-03-05 Redis緩存工具封裝實現_Redis
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支