SPRINGCLOUD服務(wù)調(diào)用:FEIGN

大家好,我是IT修真院武漢分院第11期學(xué)員,一枚正直善良的java程序員。今天給大家分享一下,任務(wù)拓展:SPRINGCLOUD服務(wù)調(diào)用:FEIGN

1.背景介紹

什么是spring cloud?

spring cloud是一個基于spring boot實現(xiàn)的微服務(wù)架構(gòu)開發(fā)工具。

? 它為微服務(wù)架構(gòu)中涉及的配置管理、服務(wù)治理、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、

? 分布式會話和集群狀態(tài)管理等操作提供了一種簡單的開發(fā)方式。

2.知識剖析

在微服務(wù)架構(gòu)中,業(yè)務(wù)都會被拆分成一個獨立的服務(wù),服務(wù)與服務(wù)的通訊是基于http restful的。

? Spring cloud有兩種服務(wù)調(diào)用方式,一種是ribbon+restTemplate,另一種是feign。這里講解下基于feign。

3.常見問題

客戶端啟動找不到datasource

4.解決方案

這是因為spring boot默認(rèn)會加載org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration類,

DataSourceAutoConfiguration類使用了@Configuration注解向spring注入了dataSource bean。

因為工程中沒有關(guān)于dataSource相關(guān)的配置信息,當(dāng)spring創(chuàng)建dataSource bean因缺少相關(guān)的信息就會報錯。

5.編碼實戰(zhàn)

服務(wù)端配置


main方法上需要注解exclude=...

這是因為spring boot默認(rèn)會加載org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration類,DataSourceAutoConfiguration類使用了@Configuration注解向spring注入了dataSource bean。因為工程中沒有關(guān)于dataSource相關(guān)的配置信息,當(dāng)spring創(chuàng)建dataSource bean因缺少相關(guān)的信息就會報錯。

因為我僅僅只是使用spring boot來寫一些很簡單的例子來學(xué)習(xí)它,在Application類上增加@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

阻止spring boot自動注入dataSource bean


客戶端端口8765


服務(wù)端配置


實現(xiàn)類繼承core包接口


端口8762,spring.application.name=service-hi,和服務(wù)端對應(yīng)


注冊中心已啟動。

啟動客戶端,成功調(diào)用到服務(wù)端接口


6.擴展思考

ribbon+resttemplate和feign的區(qū)別

這兩者的區(qū)別就是在客戶端上,如何調(diào)用服務(wù)端。rebbon+resttemplate:使用resttemplate查找服務(wù)端url,這點和springrmi、tuscany很像,類似Name.LookingUp("url")一樣


而feign則是在接口上注解@FeignClient,在其方法里注解和controller同樣的@RequestMapping,兩者的區(qū)別在于客戶端的接口


7.參考文獻(xiàn)

參考一:https://www.cnblogs.com/yql1986/p/6819097.html

參考二:http://blog.csdn.net/forezp/article/details/69808079

8.更多討論



undefined_騰訊視頻

技能樹.IT修真院

“我們相信人人都可以成為一個工程師,現(xiàn)在開始,找個師兄,帶你入門,掌控自己學(xué)習(xí)的節(jié)奏,學(xué)習(xí)的路上不再迷?!?。

這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學(xué)習(xí)路線,學(xué)習(xí)透明化,成長可見化,師兄1對1免費指導(dǎo)??靵砼c我一起學(xué)習(xí)吧

直接點擊此鏈接:http://www.jnshu.com/login/1/18302507

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容