我们将搭建如图所示的项目框架
1.搭建 spring-cloud-dubbo-examples
spring-cloud-dubbo-exmaples 是一个父项目,用来给子项目控制版本和去除公共的依赖
1.1 创建项目
使用 IDEA 创建一个模块:
选择 Maven:
点击 Next,进行下一步操作:
- Parent:必须选择之前我们创建的 spring-cloud-alibaba-examples
- Name:spring-cloud-dubbo-examples 项目的名称
- 点击 Finish,完成项目的创建
至此,spring-cloud-dubbo-examples 项目已经完成创建了。
1.2 添加依赖
打开该项目的 pom.xml,添加以下内容:
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
1.3 修改项目的打包方式
< packaging>
pom</ packaging>
1.4 完整的 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>spring-cloud-alibaba-examples</artifactId>
<groupId>com.dqcgm</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<artifactId>spring-cloud-dubbo-examples</artifactId>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
</project>
2.搭建 dubbo-api
dubbo-api 里面将存放用于发表服务的接口
2.1 创建 dubbo-api 项目
使用 IDEA 创建一个子模块
选择 Maven 项目:
点击 Next 进行下一步操作:
- Parent:选择 spring-cloud-dubbo-examples
- Name:名称为 dubbo-api
- 点击 Finish 完成项目的创建:
2.2 完整的 pom.xml 文件如下
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>spring-cloud-dubbo-examples</artifactId>
<groupId>com.dqcgm</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dubbo-api</artifactId>
</project>
3.搭建 dubbo-provider
3.1 创建 dubbo-provider 项目
搭建 dubbo-provider 用来做一个服务的提供者。
使用 IDEA 创建一个模块:
选择 Maven 项目:
点击 Next,进行下一步操作:
- Parent:选择 spring-cloud-alibaba-examples
- Name:dubbo-provider
- 点击 Finish,完成项目的创建。
3.2 修改 Maven 的打包方式
- Maven 项目默认会被 target 目录下的 class 文件打包在一个 jar 里面,该 jar 并不能直接运行,我们需要修改它的打包方式为 spring-boot 的打包,这样,打包后的项目将能直接被运行
- 修改 pom.xml ,添加如下的内容:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
这样,该项目将最终被打包成为一个 jar,能直接通过 java -jar 来运行
3.3 完整的 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>spring-cloud-dubbo-examples</artifactId>
<groupId>com.dqcgm </groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dubbo-provider</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
4.搭建 dubbo-consumer
4.1 创建 dubbo-provider-consumer 项目
搭建 dubbo-provider 用来做一个服务的提供者
使用 IDEA 创建一个模块:
选择 Maven 项目:
点击 Next,进行下一步操作:
- Parent:选择 spring-cloud-alibaba-examples
- Name:dubbo-consumer
- 点击 Finish,完成项目的创建
4.2 修改 Maven 的打包方式
- Maven 项目默认会被 target 目录下的 class 文件打包在一个 jar 里面,该 jar 并不能直接运行,我们需要修改它的打包方式为 spring-boot 的打包,这样,打包后的项目将能直接被运行。
- 修改 pom.xml ,添加如下的内容:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
这样,该项目将最终被打包成为一个 jar,能直接通过 java -jar 来运行
4.3 完整的 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>spring-cloud-dubbo-examples</artifactId>
<groupId>com.dqcgm</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dubbo-consumer</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>