Home  >  Article  >  Java  >  How Springboot integrates Dubbo projects and environment construction

How Springboot integrates Dubbo projects and environment construction

WBOY
WBOYforward
2023-05-17 09:59:41793browse

1. Use IDEA to create a new Maven project

How Springboot integrates Dubbo projects and environment construction

New project

After selecting Maven, click next

How Springboot integrates Dubbo projects and environment construction

Select project type

How Springboot integrates Dubbo projects and environment construction

Configure the Maven coordinates of the project

How Springboot integrates Dubbo projects and environment construction

Set the project name and save location

Modify the project's pom.xml file

<?xml  version="1.0" encoding="UTF-8"?>
<project>
 <modelversion>4.0.0</modelversion>

 <groupid>com.boot</groupid>
 <artifactid>boot-dubbo</artifactid>
 <version>1.0-SNAPSHOT</version>

 <!--在这里设置打包类型为pom,作用是为了实现多模块项目-->
 <packaging>pom</packaging>
</project>

2. Create a sub-module project of boot-dubbo

To create the Dubbo service interface project, we build the project under the boot-dubbo project we just created and manage it as a sub-module project of boot-dubbo.
Click on the newly created project we just created to create a new sub-module project of boot-dubbo

How Springboot integrates Dubbo projects and environment construction

The sub-module project of the new project

How Springboot integrates Dubbo projects and environment construction

Click next after selecting Maven

How Springboot integrates Dubbo projects and environment construction

Configure module parameters

How Springboot integrates Dubbo projects and environment construction

Complete the creation of project sub-modules

Similarly, we continue with our second step and create two sub-module projects, boot-dubbo-provider and boot-dubbo-consumer, again.

After the creation is completed, our overall project structure diagram is as shown below:

How Springboot integrates Dubbo projects and environment construction

Project completion structure diagram

At this point, our preparations for creating the project have been completed.

3. Define the pom.xml file of each project

Open the pom.xml file of our top-level project boot-dubbo

<?xml  version="1.0" encoding="UTF-8"?>
<project>
 <modelversion>4.0.0</modelversion>

 <groupid>com.boot</groupid>
 <artifactid>boot-dubbo</artifactid>
 <version>1.0-SNAPSHOT</version>
 <!-- 这里是我们子模块的设置 -->
 <modules>
  <module>boot-dubbo-api</module>
  <module>boot-dubbo-provider</module>
  <module>boot-dubbo-consumer</module>
 </modules>

 <!-- 在这里设置打包类型为pom,作用是为了实现多模块项目 -->
 <packaging>pom</packaging>

 <!-- 第一步:添加Springboot的parent -->
 <parent>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-parent</artifactid>
  <version>1.5.7.RELEASE</version>
 </parent>

 <!-- 设置我们项目的一些版本属性 -->
 <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>

 <!-- 声明一些项目依赖管理,方便我们的依赖版本管理 -->
 <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实现JavaBean的get、set、toString、hashCode、equals等方法的自动生成 -->
   <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 file

<?xml  version="1.0" encoding="UTF-8"?>
<project>
 <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 file

<?xml  version="1.0" encoding="UTF-8"?>
<project>
 <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 file

<?xml  version="1.0" encoding="UTF-8"?>
<project>
 <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>

The above is the detailed content of How Springboot integrates Dubbo projects and environment construction. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete