Feign的實(shí)現(xiàn)原理是什么

這篇文章給大家介紹Feign的實(shí)現(xiàn)原理是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)建站專注于昔陽企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開發(fā)。昔陽網(wǎng)站建設(shè)公司,為昔陽等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

什么是Feign?

Feign是一個(gè)java的到http客戶端綁定的開源項(xiàng)目。 Feign的主要目標(biāo)是將Java Http 客戶端變得簡(jiǎn)單。Feign的源碼地址:https://github.com/OpenFeign/feign

Feign的工作原理

feign是一個(gè)偽客戶端,即它不做任何的請(qǐng)求處理。Feign通過處理注解生成request,從而實(shí)現(xiàn)簡(jiǎn)化HTTP API開發(fā)的目的,即開發(fā)人員可以使用注解的方式定制request api模板,在發(fā)送http request請(qǐng)求之前,feign通過處理注解的方式替換掉request模板中的參數(shù),這種實(shí)現(xiàn)方式顯得更為直接、可理解。

總結(jié)

總到來說,F(xiàn)eign的源碼實(shí)現(xiàn)的過程如下:

  • 首先通過@EnableFeignCleints注解開啟FeignCleint

  • 根據(jù)Feign的規(guī)則實(shí)現(xiàn)接口,并加@FeignCleint注解

  • 程序啟動(dòng)后,會(huì)進(jìn)行包掃描,掃描所有的@ FeignCleint的注解的類,并將這些信息注入到ioc容器中。

  • 當(dāng)接口的方法被調(diào)用,通過jdk的代理,來生成具體的RequesTemplate

  • RequesTemplate在生成Request

  • Request交給Client去處理,其中Client可以是HttpUrlConnection、HttpClient也可以是Okhttp

  • 最后Client被封裝到LoadBalanceClient類,這個(gè)類結(jié)合類Ribbon做到了負(fù)載均衡。

關(guān)于Feign的實(shí)現(xiàn)原理是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

標(biāo)題名稱:Feign的實(shí)現(xiàn)原理是什么
文章來源:http://muchs.cn/article16/jpggdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)關(guān)鍵詞優(yōu)化、網(wǎng)站營(yíng)銷、品牌網(wǎng)站設(shè)計(jì)、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)