SpringBoot2.X注解版本整合Dubbo

最近面试被问到有没有用过Dubbo或者SpringCloud很遗憾只知道皮毛,没有实际动手弄过,因为这几年都是搞的小项目,说来惭愧,好了,不废话了,进入正题。

从昨天早上开始整合SpringBoot 和Dubbo 到今天早上算是花了整整一天终于整个成功了,首先来张图庆祝下:

SpringBoot2.X注解版本整合Dubbo_第1张图片

SpringBoot2.X注解版本整合Dubbo_第2张图片

 

我使用的版本 jdk8 ,Dubbo 后台管理网上下载的2.6.0的war,zookeeper3.4.13 ,SpringBoot 2.1.4.RELEASE

 

首先要注意的就是SpringBoot的starter的选择,目前来说根据dubbo的版本不同有三种

2.7.x    用GroupId  为com.alibaba.spring.boot 的2.x版本的

		
			com.alibaba.spring.boot
			dubbo-spring-boot-starter
			2.0.0
			
				
					com.alibaba
					dubbo
				
			
		

也就是说小于2.7版本的dubbo,的启动类和SpringBoot的版本也相关,下面的是官方文档截图(https://github.com/apache/incubator-dubbo-spring-boot-project)

SpringBoot2.X注解版本整合Dubbo_第3张图片

第二个就是:包扫描的问题,在启动类上添加注解

@EnableDubbo
@DubboComponentScan("com.rain.study.service.impl") 注解中的报名一定要指定,当时配置的时候没有起作用,不知道是不是因为我application.properties文件中的key写错的了原因(这是我的配置 spring.dubbo.scan=com.rain.study.service.impl),这样写就好了@DubboComponentScan("com.rain.study.service.impl")服务也就添加进去了

SpringBoot2.X注解版本整合Dubbo_第4张图片

 

第三个application.properties 中的配置文件到底应该是 带不带spring.的问题,由于我当时按照网上有的帖子配置的是spring.dubbo.registry.address=zookeeper://127.0.0.1:2181 报错是说registry不存在我就删了spring. 就好了,根据官方的说发应该是不带的,但是下面这个必须得添加,不然直接会报错

spring.application.name=dubboprovider

在整合Consumer的时候搞了半天,启动之后链接访问不了,直到我看见别的博客中说是添加

        
            org.springframework.boot
            spring-boot-starter-web
        

试了一下果然就好了

SpringBoot2.X注解版本整合Dubbo_第5张图片 

 

好了这个就是我这一天遇到的问题,值得分享出来的吧,这只是provider端,consumer还没弄出来,一会弄好了整理好之后再发出来,昨天的纠结终于可以一扫而光了 

 

你可能感兴趣的:(SpringBoot)