Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务现在越来越多的公司开发项目中使用了 springboot 作为搭建服务的框架 因为 springboot 集成了一套完整项目所需要的基本的开发工具的 jar 包 无需再像之前开发一个 spring 项目中需要引入各种配置 只需要引入简单的几个配置就能达到项目的启动 大大减少了开发周期 使开发越来越便捷 而 dubbo 是一款国内使用较多的 SOA 架构开发的中间件 其主要由三个部分组成 生产者 消费者 注册中心 注册中心

现在越来越多的公司开发项目中使用了springboot作为搭建服务的框架,因为springboot集成了一套完整项目所需要的基本的开发工具的jar包,无需再像之前开发一个spring项目中需要引入各种配置,只需要引入简单的几个配置就能达到项目的启动,大大减少了开发周期,使开发越来越便捷,而dubbo是一款国内使用较多的SOA架构开发的中间件,其主要由三个部分组成:生产者,消费者,注册中心。注册中心一般使用的是zookeeper。于是我们从头来捋一捋如何搭建一个springboot+dubbo项目。

首先,使用创建一个springboot项目,我这里使用的是IDEA工具,如果是使用eclipse的同学,大家可以去网上找有很多的搭建springboot项目的博客。

第一步:选择新建project或者module,在界面中选择Spring Initilazr点击next:

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

第二步:填上项目的基本信息点击next:

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

第三步:选择在你的项目中需要引入的相关依赖以及springboot的版本,这里我选了2.0.6并勾选web便于测试(当然你可以根据你的需要勾选不同的依赖,很全基本上涵盖了开发过程中所用到的所有插件)点击next编辑器就会帮你自动将项目初始化并下载相关的jar包依赖:

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

进入项目后我们可以先看看项目结构:

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

其中DemoApplication是项目的启动类,application.properties是配置文件,项目的一些相关的配置可以写在里面,springboot支持多种配置文件格式,目前比较常用的除了properties配置之外,比较流行的是yml格式的配置文件,这里我就将application.properties文件改成application.yml为配置文件格式,都ok了之后呢我们就可以启动启动类(启动类带有main方法可以直接启动),项目就可以启动了。

第四步:下载安装zookeeper:https://zookeeper.apache.org/releases.html 

具体在windows上如何启动的方法我也不详细说明了,请参照:https://blog.csdn.net/xuchaovip/article/details/(版权归属@澄海单挑狂)

第五步:引入Springboot集成dubbo的依赖以及zookeeper客户端依赖:

 
   
   
   
     io.dubbo.springboot 
    
   
     spring-boot-starter-dubbo 
    
   
     1.0.0 
    
   
   
   
   
     com.101tec 
    
   
     zkclient 
    
   
     0.7 
    
  

 第六步:创建接口及接口实现类:

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

public interface TestService { void testDubbo(); } 
import com.alibaba.dubbo.config.annotation.Service; import com.springboot.dubbo.service.TestService; @Service(version = "1.0.0",timeout = 3000) public class TestServiceImpl implements TestService{ @Override public void testDubbo() { } }

添加@Service注解,切记注解不是用spring的service注解,是 com.alibaba.dubbo.config.annotation.Service,由阿里提供的dubbo的注解,配上版本号1.0.0说明向zookeeper注册的是版本为1.0.0的TestService接口,超时时长为3000ms等信息。

第七步:添加配置:

server: port: 8080 #Tomcat端口 spring: dubbo: application: name: springboot-dubbo-demo #应用名 registry: address: zookeeper://localhost #zookeeper地址 port: 2181 #提供注册的端口 protocol: name: dubbo port: 20890 #dubbo服务暴露的端口 scan: com.springboot.dubbo.service.impl #扫描的包名

 添加完毕后启动项目,没有异常的话,可以通过dubbo-admin查看接口情况:

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

这样一个提供者服务就搭建好了。

第八步:搭建消费者服务:

项目创建步骤如上面步骤,引入提供者服务的依赖,需要使用maven install命令将提供者服务依赖安装至本地,或者使用maven deploy命令提交至远程服务器才能正常引入,否则会包依赖包找不到。

添加controller层代码项目整体结构如图:

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

TestController类中的代码结构使用服务注入时使用dubbo的Reference注解: 

 @Reference(version = "1.0.0",timeout = 300) private TestService testService;
spring: dubbo: application: name: springboot-dubbo-demo registry: address: zookeeper://localhost port: 2181 scan: com.springboot.dubbo.test.controller

 将配置文件扫描的包改成com.springboot.dubbo.test,然后启动项目

 通过阿里的Reference这个注解,就可以将消费者注册到zookeeper上就能实现调用啦。

查看dubbo的服务可以看到一个提供者一个消费者:

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205592.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午5:39
下一篇 2026年3月19日 下午5:40


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号