温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

spring|springboot集成dubbo的操作过程

发布时间:2021-09-29 17:31:57 来源:亿速云 阅读:206 作者:柒染 栏目:大数据

本篇文章给大家分享的是有关spring|springboot集成dubbo的操作过程,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

项目背景

现在国内中小公司,远程调用基本上用的都是dubbo ,当然小刀的公司也不例外,我们以前用的是dubbo 2.4.x的版本,虽然也能使用,但是本着新项目新技术的追求,我们更新成了dubbo 2.7.x 的版本

springboot集成dubbo的应用

以往的集成方式

引入dubbo , zk的jar包

@ImportResource({"classpath*:dubbo/*.xml"})public class Start extends SpringBootServletInitializer

dubbo.properties内容如下:

dubbo.container=logback,springdubbo.application.name=dubbo-servicedubbo.registry.address=zookeeper://zookeeper.xxx.com:2181dubbo.log4j.file=logs/dubbo-service.logdubbo.log4j.level=WARNdubbo.protocol.port=20782dubbo.protocol.dispatcher=messagedubbo.protocol.threadpool=fixeddubbo.protocol.threads=200

还有dubbo.provider.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
   <dubbo:service timeout="30000" interface="com.xxx.xxx.xxxxService" ref="xxxxService"/> </beans>

这时候去dubbo-admin上应该可以看到应用注册上去了

新的集成方式

借着上一波用gradle搭的多模块的架子,今天我们来往里面添加dubbo
官方文档:
https://github.com/apache/dubbo-spring-boot-project
先引入相关的依赖,这里就要注意了,依赖放在service层,因为是service层才需要提供dubbo服务出去. 当然为了省事的话,也可以放到business-impl里面,因为我们通过会调用别的项目的dubbo接口,但是严格来说,基础服务类的应用,只从自己的数据库取数据,然后通过dubbo接口返回给业务应用.所以在基础应用中,只能把依赖引在service层,业务应用可以直接引在business-impl层

服务提供层

  implementation 'org.springframework.boot:spring-boot-starter'
 testImplementation 'org.springframework.boot:spring-boot-starter-test'  compile group: 'org.apache.dubbo', name: 'dubbo-spring-boot-starter', version: '2.7.1'  compile (group: 'org.apache.dubbo', name: 'dubbo-dependencies-zookeeper', version: '2.7.2')      {        exclude group:'org.slf4j'      }  compile ('org.apache.dubbo:dubbo:2.7.2'){    exclude group: 'org.springframework'    exclude group: 'javax.servlet'    exclude group: 'log4j'  }

application.properties中进行配置:

dubbo.application.name=forest-servicedubbo.registry.address=zookeeper://zookeeper.xxx.com:30038dubbo.protocol.name=dubbodubbo.protocol.port=21899dubbo.config-center.address=zookeeper://zookeeper.xxx.com:30038dubbo.metadata-report.address=zookeeper://zookeeper.xxx.com:30038dubbo.scan.base-packages=com.platform.market.service.impl

此时代码目录结构为:

spring|springboot集成dubbo的操作过程

其中,在实现类上,需要添加以下两个注解:

@Service@Componentpublic class ItemServiceImpl implements ItemService

注意是dubbo包里面的service注解

然后我们在dubbo-admin中可以看到我们启动的服务

spring|springboot集成dubbo的操作过程

服务消费层

这边就很简单了,一句话搞定,把以前我们写的@Autowire 换成dubbo包内的 @Reference
就可以了
配置文件中只需要引注册地址就可以了,

dubbo.application.name=xxxx-xxxxdubbo.registry.address=zookeeper://zookeeper.xxx.com:30038

以上就是spring|springboot集成dubbo的操作过程,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI