spring-boot整合dubbo:Spring-boot-dubbo-starter
為什么要寫這個(gè)小工具
如果你用過Spring-boot來提供dubbo服務(wù),相信使用中有很多“不爽”的地方。既然使用spring boot,那么能用注解的地方絕不用xml配置,這才是spring-boot-style。開個(gè)玩笑,真正意思是,spring-boot適合一些簡單的、獨(dú)立的服務(wù),一個(gè)大的系統(tǒng)是不適合使用spring-boot來開發(fā)。相反,spring-boot適合那些簡單服務(wù)的搭建。 網(wǎng)上大多數(shù)的方法還是使用xml配置,通過@Import注解來引入xml配置。
怎么使用
對于服務(wù)的消費(fèi)者或提供者,使用dubbo內(nèi)置的注解@Service或@Reference來聲明
在application.properties/yml 中配置dubbo的相關(guān)參數(shù),例如下面就是一個(gè)簡單的消費(fèi)者的配置
dubbo: application: name: lizo-consumer registry: address: zookeeper://localhost:12181
在配置類上使用@EnableDubbo(basePackages = "xxx.xxx.xxx")
來開啟dubbo的自動(dòng)配置
經(jīng)過以上3個(gè)步驟,就可以完成對dubbo的配置,是不是很Spring-bootstyle
dubbo-filter
dubbo有很多擴(kuò)展,其中filter是使用比較多一個(gè)。但是用起來很不方便。如果能像Spring boot定義Spring MVC的filter那樣簡單聲明一個(gè)bean就好了。恩,其實(shí)就是這樣。
@Bean ProviderFilter providerFilter() { return new ProviderFilter(); } static class ProviderFilter extends AbstractDubboProviderFilterSupport { public Result invoke(Invoker<?> invoker, Invocation invocation) { System.out.println("ProviderFilter"); return invoker.invoke(invocation); } }
更定制化的需求,可以使用Dubbo的@Activate注解來定制化Filter,那么可以這樣
@Bean CustomFilter customFilter() { return new CustomFilter(); } @Activate(group = Constants.PROVIDER) static class CustomFilter extends AbstractDubboFilterSupport { public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException { System.out.println("ProviderFilter2"); return invoker.invoke(invocation); } public Filter getDefaultExtension() { return this; } }
以上所述是小編給大家介紹的spring-boot整合dubbo:Spring-boot-dubbo-starter,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
IDEA2020如何打開Run Dashboard的方法步驟
這篇文章主要介紹了IDEA2020如何打開Run Dashboard的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Spring?Boot?集成?Swagger2構(gòu)建?API文檔
這篇文章主要介紹了Spring?Boot?集成?Swagger2構(gòu)建?API文檔,通過使用?Swagger,我們只需要按照它所給定的一系列規(guī)范去定義接口以及接口的相關(guān)信息,然后它就能幫我們自動(dòng)生成各種格式的接口文檔,方便前后端開發(fā)者進(jìn)行前后端聯(lián)調(diào),下文需要的朋友可以參考一下2022-03-03SpringBoot做junit測試的時(shí)候獲取不到bean的解決
這篇文章主要介紹了SpringBoot做junit測試的時(shí)候獲取不到bean的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09java開發(fā)Activiti進(jìn)階篇流程實(shí)例詳解
這篇文章主要為大家介紹了java開發(fā)Activiti進(jìn)階篇流程實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Java中使用BigDecimal進(jìn)行浮點(diǎn)數(shù)運(yùn)算
這篇文章主要介紹了Java中使用BigDecimal進(jìn)行浮點(diǎn)數(shù)運(yùn)算,需要的朋友可以參考下2014-07-07