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文件
打開(kāi)我們的頂層項(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)文章
如何在SpringBoot中使用Spring-AOP實(shí)現(xiàn)接口鑒權(quán)
這篇文章主要介紹了如何在SpringBoot中使用Spring-AOP實(shí)現(xiàn)接口鑒權(quán),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-09-09深入淺析SPI機(jī)制在JDK與Spring?Boot中的應(yīng)用
SPI是一種使軟件框架或庫(kù)更加模塊化、可擴(kuò)展和可維護(hù)的有效方法。通過(guò)遵循“開(kāi)閉原則”,?SPI?確保了系統(tǒng)的穩(wěn)定性和靈活性,從而滿足了不斷變化的業(yè)務(wù)需求,這篇文章主要介紹了SPI機(jī)制在JDK與Spring?Boot中的應(yīng)用,需要的朋友可以參考下2023-09-09JavaCV簡(jiǎn)介與環(huán)境搭建詳細(xì)步驟
JavaCV是一個(gè)開(kāi)源的Java接口,它為幾個(gè)著名的計(jì)算機(jī)視覺(jué)庫(kù)(如OpenCV、FFmpeg)提供了Java封裝,這篇文章主要給大家介紹了關(guān)于JavaCV簡(jiǎn)介與環(huán)境搭建的相關(guān)資料,需要的朋友可以參考下2024-04-04解決SpringMVC @RequestMapping不設(shè)置value出現(xiàn)的問(wèn)題
這篇文章主要介紹了解決SpringMVC @RequestMapping不設(shè)置value出現(xiàn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08