SpringBoot搭建Dubbo項(xiàng)目實(shí)現(xiàn)斐波那契第n項(xiàng)詳解
step1 新建項(xiàng)目
方法1:直接在IDEA里新建如圖:

方法2:在start.spring.io新建

可能有的小朋友已經(jīng)發(fā)現(xiàn)了,第一種方式的Server URL就是第二個(gè)的網(wǎng)站,都是一樣的
要新建兩個(gè)項(xiàng)目,第一個(gè)項(xiàng)目如上圖所示,第二個(gè)項(xiàng)目只需要將provider改為consumer
其余不變,解壓后通過(guò)IDEA打開(kāi)
step2 新建需要的包和接口以及實(shí)現(xiàn)類(lèi)
provider 項(xiàng)目結(jié)構(gòu):

consumer 項(xiàng)目結(jié)構(gòu):

請(qǐng)注意,兩個(gè)ServiceAPI在項(xiàng)目中的的所在位置,或者說(shuō)包名要嚴(yán)格一致,否則后續(xù)會(huì)出問(wèn)題
如果不一致,可以按照如下方式按需進(jìn)行更改

xsd放到指定目錄下:
C:\Users\用戶名\.lemminx\cache\http\code.alibabatech.com\schema\dubbo
文件:dubbo.xsd
下載鏈接:
「dubbo.xsd」
鏈接: https://pan.baidu.com/s/1iqQl-TlrHW2CsGN9kG5UoA?pwd=6xp4 提取碼: 6xp4
點(diǎn)擊鏈接保存,或者復(fù)制本段內(nèi)容,打開(kāi)「阿里云盤(pán)」APP ,無(wú)需下載極速在線查看,視頻原畫(huà)倍速播放。
step3 在兩個(gè)項(xiàng)目的resource下新建配置文件
需要新建的名字為:spring-dubbo.xml
provider的該配置文件中寫(xiě)入:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- dubbo應(yīng)用名稱(chēng) -->
<dubbo:application name="springboot-buddo-provider"/>
<!-- 發(fā)布者 dubbo協(xié)議 -->
<dubbo:protocol name="dubbo" port="20881"/>
<!-- 定義bean -->
<bean id="providerImpl" class="com.springdubbo.demo.springbootdubbo.apiImpl.ProviderImpl"/>
<!-- dubbo服務(wù) 發(fā)布者發(fā)布服務(wù) 需要暴露的服務(wù)接口 -->
<dubbo:service interface="com.springdubbo.demo.springbootdubbo.ServiceAPI" ref="providerImpl"
registry="N/A"/>
</beans>
consumer的該配置文件內(nèi)寫(xiě)入:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- dubbo應(yīng)用名稱(chēng) -->
<dubbo:application name="springboot-buddo-consumer"/>
<!-- 遠(yuǎn)程服務(wù)調(diào)用代理 -->
<dubbo:reference id="consumerImpl"
interface="com.springdubbo.demo.springbootdubbo.ServiceAPI"
url="dubbo://localhost:20881" />
</beans>step4 代碼編寫(xiě)
導(dǎo)入依賴(lài)
在兩個(gè)項(xiàng)目的pom.xml下均添加依賴(lài):
<dependency> <groupId>com.alibaba.spring.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency>
provider
ProviderImpl
Service注解一定不要忘記加,而且一定要是dubbo的Service
package com.springdubbo.demo.springbootdubbo.apiImpl;
import com.alibaba.dubbo.config.annotation.Service;
import com.springdubbo.demo.springbootdubbo.ServiceAPI;
/**
* @author wuyt
* @data 2022/6/11
* @apiNote
*/
@Service
public class ProviderImpl implements ServiceAPI {
public String getMessage(String message) {
return "springboot-dubbo-provider =>>>>>" + message;
}
public String getTheFeibN(int n) {
//斐波那契數(shù)列第n項(xiàng)的實(shí)現(xiàn)邏輯
}
}ServiceAPI
package com.springdubbo.demo.springbootdubbo;
/**
* @author wuyt
* @data 2022/6/11
* @apiNote
*/
public interface ServiceAPI {
public String getMessage(String message);
public String getTheFeibN(int n);
}SpringbootDubboApplication
一定要加上ImportResource注解
package com.springdubbo.demo.springbootdubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ImportResource;
@SpringBootApplication
@ImportResource("classpath:spring-dubbo.xml")
public class SpringbootDubboApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootDubboApplication.class, args);
}
}consumer
ServiceAPI
package com.springdubbo.demo.springbootdubbo;
/**
* @author wuyt
* @data 2022/6/11
* @apiNote
*/
public interface ServiceAPI {
public String getMessage(String message);
public String getTheFeibN(int n);
}SpringbootDubboApplication
package com.springdubbo.demo.springbootdubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ImportResource;
@SpringBootApplication
@ImportResource("classpath:spring-dubbo.xml")
public class SpringbootDubboApplication {
public static void main(String[] args) {
ConfigurableApplicationContext count = SpringApplication.run(SpringbootDubboApplication.class, args);
ServiceAPI impl = (ServiceAPI)count.getBean("consumerImpl");
// System.out.println(impl.getMessage("Hello dubbo"));
System.out.println(impl.getTheFeibN(10));
}
}端口沖突更改
可以修改provider或者是consumer其中任意一個(gè)的端口號(hào)
這里修改consumer運(yùn)行的端口號(hào):

step5 運(yùn)行
首先運(yùn)行provider,然后運(yùn)行consumer
結(jié)果:

到此這篇關(guān)于SpringBoot搭建Dubbo項(xiàng)目實(shí)現(xiàn)斐波那契第n項(xiàng)詳解的文章就介紹到這了,更多相關(guān)SpringBoot斐波那契內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java VisualVM監(jiān)控遠(yuǎn)程JVM(詳解)
下面小編就為大家?guī)?lái)一篇Java VisualVM監(jiān)控遠(yuǎn)程JVM(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
Java實(shí)現(xiàn)讀取html文本內(nèi)容并按照格式導(dǎo)出到excel中
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)讀取html文本提取相應(yīng)內(nèi)容按照格式導(dǎo)出到excel中,文中的示例代碼講解詳細(xì),需要的可以參考下2024-02-02
java IO流將一個(gè)文件拆分為多個(gè)子文件代碼示例
這篇文章主要介紹了java IO流將一個(gè)文件拆分為多個(gè)子文件代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
深入解析Java的Hibernate框架中的一對(duì)一關(guān)聯(lián)映射
這篇文章主要介紹了Java的Hibernate框架的一對(duì)一關(guān)聯(lián)映射,包括對(duì)一對(duì)一外聯(lián)映射的講解,需要的朋友可以參考下2016-01-01
解決mac最新版intellij idea崩潰閃退crash的問(wèn)題
這篇文章主要介紹了解決mac最新版intellij idea崩潰閃退crash的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
JPA之映射mysql text類(lèi)型的問(wèn)題
這篇文章主要介紹了JPA之映射mysql text類(lèi)型的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
java中l(wèi)ambda(函數(shù)式編程)一行解決foreach循環(huán)問(wèn)題
這篇文章主要介紹了java中l(wèi)ambda(函數(shù)式編程)一行解決foreach循環(huán)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
spring-boot-thin-launcher插件分離jar包的依賴(lài)和配置方式
這篇文章主要介紹了spring-boot-thin-launcher插件分離jar包的依賴(lài)和配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09

