Springboot整合Dubbo教程之項(xiàng)目創(chuàng)建和環(huán)境搭建
本文介紹了Springboot整合Dubbo教程之項(xiàng)目創(chuàng)建和環(huán)境搭建,分享給大家,具體如下:
1. 使用IDEA新建一個(gè)Maven項(xiàng)目
新建項(xiàng)目
選擇Maven后,點(diǎn)擊next下一步
選擇項(xiàng)目類型
配置項(xiàng)目的Maven坐標(biāo)
設(shè)置項(xiàng)目名稱和保存位置
修改項(xiàng)目的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.boot</groupId> <artifactId>boot-dubbo</artifactId> <version>1.0-SNAPSHOT</version> <!--在這里設(shè)置打包類型為pom,作用是為了實(shí)現(xiàn)多模塊項(xiàng)目--> <packaging>pom</packaging> </project>
2. 創(chuàng)建boot-dubbo的子模塊項(xiàng)目
創(chuàng)建Dubbo服務(wù)接口項(xiàng)目,我們把項(xiàng)目建立在剛才我們創(chuàng)建的boot-dubbo項(xiàng)目下面,作為boot-dubbo的子模塊項(xiàng)目進(jìn)行管理。
點(diǎn)擊我們剛才新建好的項(xiàng)目,新建一個(gè)boot-dubbo的子模塊 項(xiàng)目
新建項(xiàng)目的子模塊項(xiàng)目
選擇Maven后點(diǎn)擊 next
配置模塊參數(shù)
完成項(xiàng)目子模塊的創(chuàng)建
同理我們繼續(xù)我們第二步的步驟,再次創(chuàng)建一個(gè)boot-dubbo-provider和boot-dubbo-consumer這兩個(gè)子模塊項(xiàng)目。
創(chuàng)建完成后,我們的整體項(xiàng)目結(jié)構(gòu)圖如下圖所示:
項(xiàng)目完成結(jié)構(gòu)圖
至此,我們創(chuàng)建項(xiàng)目的準(zhǔn)備工作已經(jīng)完畢。
3. 定義每個(gè)項(xiàng)目的pom.xml文件
打開我們的頂層項(xiàng)目boot-dubbo的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.boot</groupId> <artifactId>boot-dubbo</artifactId> <version>1.0-SNAPSHOT</version> <!-- 這里是我們子模塊的設(shè)置 --> <modules> <module>boot-dubbo-api</module> <module>boot-dubbo-provider</module> <module>boot-dubbo-consumer</module> </modules> <!-- 在這里設(shè)置打包類型為pom,作用是為了實(shí)現(xiàn)多模塊項(xiàng)目 --> <packaging>pom</packaging> <!-- 第一步:添加Springboot的parent --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.7.RELEASE</version> </parent> <!-- 設(shè)置我們項(xiàng)目的一些版本屬性 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <dubbo.version>2.5.5</dubbo.version> <zkclient.version>0.10</zkclient.version> <lombok.version>1.16.18</lombok.version> <spring-boot.version>1.5.7.RELEASE</spring-boot.version> </properties> <!-- 聲明一些項(xiàng)目依賴管理,方便我們的依賴版本管理 --> <dependencyManagement> <dependencies> <!-- Springboot依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>${spring-boot.version}</version> </dependency> <!-- Springboot-web依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>${spring-boot.version}</version> </dependency> <!-- 使用lombok實(shí)現(xiàn)JavaBean的get、set、toString、hashCode、equals等方法的自動(dòng)生成 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> <!-- Dubbo依賴 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>${dubbo.version}</version> </dependency> <!-- zookeeper的客戶端依賴 --> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>${zkclient.version}</version> </dependency> </dependencies> </dependencyManagement> </project>
boot-dubbo-api的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>boot-dubbo</artifactId> <groupId>com.boot</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>boot-dubbo-api</artifactId> <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>provided</scope> </dependency> </dependencies> </project>
boot-dubbo-provider的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>boot-dubbo</artifactId> <groupId>com.boot</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>boot-dubbo-provider</artifactId> <dependencies> <dependency> <groupId>com.boot</groupId> <artifactId>boot-dubbo-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> </dependency> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
boot-dubbo-consumer的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>boot-dubbo</artifactId> <groupId>com.boot</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>boot-dubbo-consumer</artifactId> <dependencies> <dependency> <groupId>com.boot</groupId> <artifactId>boot-dubbo-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> </dependency> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
項(xiàng)目地址:springboot-dubbo項(xiàng)目GitHub地址 https://github.com/zhangxieliu/springboot-dubbo
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
IDEA不識(shí)別Java文件:文件變橙色&顯示后綴名.java的解決
這篇文章主要介紹了IDEA不識(shí)別Java文件:文件變橙色&顯示后綴名.java的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03Spring?Cloud?Gateway?遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2022-22947)的過程解析
Spring?Cloud?Gateway?是基于?Spring?Framework?和?Spring?Boot?構(gòu)建的?API?網(wǎng)關(guān),它旨在為微服務(wù)架構(gòu)提供一種簡(jiǎn)單、有效、統(tǒng)一的?API?路由管理方式,這篇文章主要介紹了Spring?Cloud?Gateway?遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2022-22947),需要的朋友可以參考下2022-08-08Java通過Process類Runtime.getRuntime().exec()執(zhí)行bat腳本程序
用Java編寫應(yīng)用時(shí),有時(shí)需要在程序中調(diào)用另一個(gè)現(xiàn)成的可執(zhí)行程序或系統(tǒng)命令,這篇文章主要給大家介紹了關(guān)于Java如何通過Process類Runtime.getRuntime().exec()執(zhí)行bat腳本程序的相關(guān)資料,需要的朋友可以參考下2024-01-01springboot集成redis存對(duì)象亂碼的問題及解決
這篇文章主要介紹了springboot集成redis存對(duì)象亂碼的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06springmvc+spring+mybatis實(shí)現(xiàn)用戶登錄功能(上)
這篇文章主要為大家詳細(xì)介紹了springmvc+spring+mybatis實(shí)現(xiàn)用戶登錄功能,比較基礎(chǔ)的學(xué)習(xí)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Java求兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)
這篇文章主要介紹了輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù),需要的朋友可以參考下2017-02-02Java 模擬數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn)代碼
這篇文章主要介紹了Java 模擬數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02