Springboot整合Dubbo教程之项目创建和环境搭建

所属分类: 软件编程 / java 阅读数: 34
收藏 0 赞 0 分享

本文介绍了Springboot整合Dubbo教程之项目创建和环境搭建,分享给大家,具体如下:

1. 使用IDEA新建一个Maven项目

新建项目

选择Maven后,点击next下一步

选择项目类型

配置项目的Maven坐标

设置项目名称和保存位置

修改项目的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>

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

2. 创建boot-dubbo的子模块项目

创建Dubbo服务接口项目,我们把项目建立在刚才我们创建的boot-dubbo项目下面,作为boot-dubbo的子模块项目进行管理。
点击我们刚才新建好的项目,新建一个boot-dubbo的子模块 项目

新建项目的子模块项目

选择Maven后点击 next

配置模块参数

完成项目子模块的创建

同理我们继续我们第二步的步骤,再次创建一个boot-dubbo-provider和boot-dubbo-consumer这两个子模块项目。

创建完成后,我们的整体项目结构图如下图所示:

项目完成结构图

至此,我们创建项目的准备工作已经完毕。

3. 定义每个项目的pom.xml文件

打开我们的顶层项目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>
 <!-- 这里是我们子模块的设置 -->
 <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文件

<?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>

项目地址:springboot-dubbo项目GitHub地址 https://github.com/zhangxieliu/springboot-dubbo

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

spring boot 静态资源处理方法

本篇文章主要介绍了spring boot 静态资源处理方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解spring boot 使用application.properties 进行外部配置

这篇文章主要介绍了详解spring boot 使用application.properties 进行外部配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Java实现分页的前台页面和后台代码

这篇文章主要为大家详细介绍了Java实现分页的前台页面和后台代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解spring面向切面aop拦截器

spring中有很多概念和名词,比如过滤器、拦截器、aop等。这篇文章主要介绍了详解spring面向切面aop拦截器,有兴趣的可以了解一下。
收藏 0 赞 0 分享

Java easyui树形表格TreeGrid的实现代码

这篇文章主要为大家详细介绍了Java easyui树形表格TreeGrid的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java的NIO与IO的详解及对比

这篇文章主要介绍了Java的NIO与IO的详解及对比的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java中网络IO的实现方式(BIO、NIO、AIO)介绍

这篇文章主要介绍了Java中网络IO的实现方式(BIO、NIO、AIO)介绍的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java 敏感信息加密处理

本文主要介绍了Java 敏感信息加密处理的相关知识:1)敏感信息加密处理我们要实现什么;2)敏感信息加密处理我做了些什么;3)敏感信息加密实现方法。具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享

详解使用Spring3 实现用户登录以及权限认证

这篇文章主要介绍了详解使用Spring3 实现用户登录以及权限认证,这里整理了详细的代码,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

Java的内存机制详解

本文主要介绍了Java的内存机制的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享
查看更多