SpringBoot整合dubbo(一)
创始人
2024-01-21 08:24:25
0

第一次整合,使用无注册中心方式

 一、首先,项目分为三个模块,如下图,dubbo-interface(要发布的接口)、dubbo-provider(接口的具体实现,服务提供者)、dubbo-consumer(客户端,服务消费者)

 二、dubbo-interface模块,普通的springboot项目,只需要写接口,即需要向外提供的服务接口

如上图中的UserService。

三、dubbo-provider模块,它是dubbo-interface模块中接口的具体实现,服务提供者。

3.1、pom.xml文件

        org.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-webcom.xice.dubbodubbo-interface0.0.1-SNAPSHOTio.dubbo.springbootspring-boot-starter-dubbo1.0.0

3.2、application.properties文件,配置dubbo

server.port=8080
spring.dubbo.application.name=dubbo-provider
# N/A表示不使用注册中心
spring.dubbo.registry.address=N/A
# dubbo协议
spring.dubbo.protocol.name=dubbo
# duboo端口号
spring.dubbo.protocol.port=20882
# 发布到dubbo的接口所在包位置
spring.dubbo.scan=com.xice.dubbo

 3.3、接口具体实现

/*** @author xice* @date 2022-11-14*/
@Service(version = "1.0.0")
public class UserServiceImpl implements UserService {SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");@Overridepublic String say(String username, String msg) {return username + " say: "+msg+"  --"+dateFormat.format(new Date());}
}

四、dubbo-consumer客户端,服务消费者。

4.1、pom.xml文件与服务端一样,需要引入dubbo-interface模块、dubbo

        org.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-webcom.xice.dubbodubbo-interface0.0.1-SNAPSHOTio.dubbo.springbootspring-boot-starter-dubbo1.0.0

4.2、application.properties文件,配置dubbo,spring.dubbo.scan包可不完全一样,比如

  • 服务端配置spring.dubbo.scan=com,客户端配置com、com.xice、com.xice.dubbo都可以
  • 服务端配置spring.dubbo.scan=com.xice.dubbo,客户端配置com、com.xice、com.xice.dubbo也都可以
  • 但是如果服务端配置spring.dubbo.scan=com.xice.dubbo,客户端配置cn、cn.xice等不行,即一级目录必须相同
# 应用名称
server.port=8099
spring.dubbo.application.name=dubbo-consumer
# N/A表示不使用注册中心
spring.dubbo.registry.address=N/A
# 发布到dubbo的接口所在包位置
spring.dubbo.scan=com.xice.dubbo

4.3、调用服务,注入UserService时不是使用SpringBoot中的@Autowired,而是使用@Reference (com.alibaba.dubbo.config.annotation.Reference),其中version为dubbo-provider服务中的版本号,url为服务提供者的ip和配置的端口号

/*** @author xice* @date 2022-11-15*/
@RestController
public class UserController {@Reference(version = "1.0.0",url = "dubbo://127.0.0.1:20882")UserService userService;@RequestMapping("say")public String say(){String say = userService.say("admin", "早上好");System.out.println(say);return say;}
}

五、先启动dubbo-provider、再启动dubbo-consumer,需要按顺序启动!如果先启动客户端就无法调用到服务。启动后访问客户端http://localhost:8099/say

 

 

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...