1. Use IDEA to create a new Maven project
New project
After selecting Maven, click next
Select project type
Configure the Maven coordinates of the project
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
The sub-module project of the new project
Click next after selecting Maven
Configure module parameters
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:
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!