SpringBoot整合Dubbox(无XML配置)

article/2025/11/1 12:49:20

##简介
Dubbox是当当网对阿里的Dubbo进行增强的一个分支。在使用springboot之后,我们发现很多配置并不一定要使用xml。这篇文章的目的是让你使用Dubbox时能像使用springboot的其它功能一样可以在application.properties中配置。

##基础整合

  • 进入https://github.com/dangdangdotcom/dubbox ,将源码下载(当当网没有提交上maven仓库,所以不能直接从中央仓库依赖);打包进本地仓库
mvn clean install -DskipTests
  • 添加Maven依赖
		<!-- zookeeper --><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.6</version></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version></dependency><!-- Dubbox --><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>2.8.4</version></dependency><!-- springboot的注解处理器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>
  • 添加配置类
	@Configurationpublic class DubboConfig {@Bean@ConfigurationProperties(prefix="dubbo.application")public ApplicationConfig applicationConfig() {ApplicationConfig applicationConfig = new ApplicationConfig();return applicationConfig;}@Bean@ConfigurationProperties(prefix="dubbo.registry")public RegistryConfig registryConfig() {RegistryConfig registryConfig = new RegistryConfig();return registryConfig;}@Bean@ConfigurationProperties(prefix="dubbo.annotation")public AnnotationBean annotationBean() {AnnotationBean annotationBean = new AnnotationBean();return annotationBean;}@Bean@ConfigurationProperties(prefix="dubbo.protocol")public ProtocolConfig protocolConfig() {ProtocolConfig protocolConfig = new ProtocolConfig();return protocolConfig;}}
  • 在application.properties中配置Dubbox属性
	#应用名dubbo.application.name= #负责人dubbo.application.owner= #注册zookeeper的地址dubbo.registry.address=zookeeper://localhost:2181#扫包dubbo.annotation.package=com.yeauty.service#协议 (有 dubbo、rest、http、hessian、webservice) dubbo.protocol.name=dubbo#协议暴露服务的端口(Integer类型)dubbo.protocol.port=20880
  • 提供者与消费者
	提供者注解(实现类上):@Service(包:com.alibaba.dubbo.config.annotation.Service)@Component(包:org.springframework.stereotype.Component)消费者注解(对应Interface类型的属性上):@Reference(包:com.alibaba.dubbo.config.annotation.Reference)
  • 注意!!!
    springboot的开发热部署包一定要去掉!不然会出BUG
		<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope></dependency>

#####现在已经可以正常使用了,若想进行扩展,可以继续往下~

##指定序列化配置

  • 添加Maven依赖
		<dependency><groupId>com.esotericsoftware.kryo</groupId><artifactId>kryo</artifactId><version>2.24.0</version></dependency><dependency><groupId>de.javakaffee</groupId><artifactId>kryo-serializers</artifactId><version>0.26</version></dependency>
  • application.properties中配置属性
	#序列化方式(kryo是目前效率最高的)dubbo.protocol.serialization=kryo#序列化优化的实现类dubbo.protocol.optimizer=
  • 添加序列化实现类
	public class SerializationOptimizerImpl implements SerializationOptimizer {public Collection<Class> getSerializableClasses() {List<Class> classes = new LinkedList<Class>();return classes;}}

需要进行kryo序列化的类在这里add进list里面
详细可参考:https://dangdangdotcom.github.io/dubbox/serialization.html

###Dubbox的REST支持

  • 添加Maven依赖
		<dependency><groupId>org.jboss.resteasy</groupId><artifactId>resteasy-jaxrs</artifactId><version>3.0.7.Final</version></dependency><dependency><groupId>org.jboss.resteasy</groupId><artifactId>resteasy-client</artifactId><version>3.0.7.Final</version></dependency><dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId><version>1.1.0.Final</version></dependency><!-- 如果要使用json序列化 --><dependency><groupId>org.jboss.resteasy</groupId><artifactId>resteasy-jackson-provider</artifactId><version>3.0.7.Final</version></dependency><!-- 如果要使用xml序列化 --><dependency><groupId>org.jboss.resteasy</groupId><artifactId>resteasy-jaxb-provider</artifactId><version>3.0.7.Final</version></dependency>
  • 在配置类中添加方法
	@Bean@ConfigurationProperties(prefix="dubbo.protocol.rest")public ProtocolConfig protocolRestConfig() {ProtocolConfig protocolConfig = new ProtocolConfig();return protocolConfig;}
  • application.properties中配置属性
	dubbo.protocol.rest.name=restdubbo.protocol.rest.port=8082dubbo.protocol.rest.server=tomcat

更多属性配置和使用方法请参考:https://dangdangdotcom.github.io/dubbox/rest.html

######注:未经同意不得转载


http://chatgpt.dhexx.cn/article/WB5nIID3.shtml

相关文章

Dubbo进阶(十一)—— Dubbo与DubboX区别

前世今生 Dubbo源于阿里的淘宝网开源分布式服务架构&#xff0c;致力于提供高性能和透明化的RPC远程服务调用方案&#xff0c;是SOA服务化治理方案的核心框架。淘宝网将其开源之后&#xff0c;得到了很多的拓展和支持&#xff08;比较出名的有&#xff1a;当当网的扩展版本dub…

[Dubbox基础]-- 文档

一、网址 官方&#xff1a;https://github.com/dangdangdotcom/dubbox 参考&#xff1a;https://www.douban.com/note/488997143/ 二、说明 1、问题&#xff1a;https://github.com/dangdangdotcom/dubbox/issues 2、主要&#xff1a; Dubbox now means Dubbo eXtensions. …

浅谈Dubbox原理

Dubbox介绍 Dubbox是一个分布式服务框架&#xff0c;前身是阿里旗下的开源项目Dubbo&#xff0c;后来阿里停止维护&#xff0c;当当网在Dubbo的基础上进行优化&#xff0c;并继续维护&#xff0c;为了与原来的Dubbo区分故将其改名为Dubbox&#xff0c;当当网在其原有的基础上实…

Dubbox 和Dubbo 为何选择

1. 前言 随着现在互联网行业的发展&#xff0c;越来越多的框架、中间件、容器等开源技术不断地涌现&#xff0c;更好地来服务于业务&#xff0c;解决实现业务的问题。然而面对众多的技术选择&#xff0c;我们要如何甄别出适合自己团队业务的技术呢&#xff1f;对于人来说&#…

springboot整合dubbox

简介 今天咱们来看看怎么利用Spring Boot整合Dubbox来开发去中心化的微服务。 系统环境 本文基于Jdk1.8/Maven 3.3.9/Spring Boot 1.4.2.RELEASE/Dubbo 2.8.5.SNAPSHOT(Dubbox后续开源版本)/ZooKeeper3.4.8 Zookeeper环境搭建 下载并安装启动 下载 wget http://mirrors.h…

Dubbo

协议&#xff1a; Dubbo是一种分布式服务框架也是一种协议&#xff0c;dubbo框架默认使用dubbo协议。dubbo协议是阿里巴巴自己实现的一种应用层协议&#xff0c;传输层还是TCP。所以Dubbo协议与HTTP、FTP&#xff0c;SMTP这些应用层协议是并列的概念。除了默认的Dubbo协议&…

Dubbox简单入门

dubbox是分布式框架&#xff0c;让我们一起来简单搭建一个小demo Dubbox简介 Dubbox 是一个分布式服务框架&#xff0c;其前身是阿里巴巴开源项目Dubbo &#xff0c;被国内电商及互联网项目中使用&#xff0c;后期阿里巴巴停止了该项目的维护&#xff0c;当当网便在Dubbo基础上…

Dubbox简介与入门实战

前言 什么是Dubbox?Dubbox是一个分布式服务框架&#xff0c;其前身是阿里巴巴开源项目Dubbo,被国内电商及互联网项目中使用&#xff0c;后期阿里巴巴停止了Dubbo项目的维护&#xff08;现Dubbo已捐献给Apache基金会&#xff09;&#xff0c;因为阿里巴巴内部的HSF框架比Dubbo…

Dubbox 环境搭建

第一章&#xff1a;Dubbox简介 Dubbox是一个开源的RPC(Remote ProcedureCall Protocol)远程调用框架&#xff0c;是由dangdang对阿里的Dubbo的升级&#xff0c;可以被视为Dubbo的增强版&#xff0c;基本架构没有变动&#xff0c;升级spring2.x到spring3.x,支持restful风格的调用…

Dubbox框架简介

Dubbox框架简介 Dubbox是一个分布式服务框架&#xff0c;其前身是阿里巴巴开源项目Dubbo&#xff0c;被国内电商及互联网项目中使用&#xff0c;后期阿里巴巴停止了该项目的维护&#xff0c;当当网便在Dubbo基础上进行优化&#xff0c;并继续维护&#xff0c;为了与原有的Dubb…

Dubbo的介绍以及Dubbox的区别

Dubbo官网: http://dubbo.io/ Dubbox官网: https://github.com/dangdangdotcom/dubbox Dubbo 是阿里巴巴公司开源的一个基于Java的高性能开源RPC框架&#xff0c;使得应用可通过高性能的 RPC 实现服务的输出和输入功能&#xff0c;可以和 Spring框架无缝集成。后来因为某些原…

Dubbox学习笔记

一、Dubbox简介 1、什么是SOA架构 SOA是Service-Oriented Architecture的首字母简称&#xff0c;它是一种支持面向服务的架构样式。从服务、基于服务开发和服务的结果来看&#xff0c;面向服务是一种思考方式。其实SOA架构更多应用于互联网项目开发。 为什么互联网项目会采用…

Dubbox是什么,如何整合SpringBoot,有什么优势?

目录 一、Dubbox 是什么 二、Dubbox 如何整合SpringBoot 三、Dubbox 有什么优势 一、Dubbox 是什么 Dubbox是一款基于Java语言的分布式服务框架&#xff0c;是阿里巴巴公司开源的一款服务化治理框架&#xff0c;其前身为Dubbo。Dubbox是针对Dubbo进行了改进和升级&#xff…

dubbox简介

1.1 dubbox简介 随着互联网的发展&#xff0c;网站应用的规模不断扩大&#xff0c;常规的垂直应用架构已无法应对&#xff0c;分布式服务架构以及流动计算架构势在必行&#xff0c;亟需一个治理系统确保架构有条不紊的演进。 单一应用架构 当网站流量很小时&#xff0c;只需一…

Dubbo详细介绍与安装使用过程

1 Dubbo介绍 1.1 dubbox简介 随着互联网的发展&#xff0c;网站应用的规模不断扩大&#xff0c;常规的垂直应用架构已无法应对&#xff0c;分布式服务架构以及流动计算架构势在必行&#xff0c;亟需一个治理系统确保架构有条不紊的演进。 单一应用架构 当网站流量很小时&…

Dubbo和Zookeeper入门到实战,看这篇就够了

前沿&#xff1a;在当下流行的分布式架构中Dubbo是非常流行rpc框架&#xff0c;借着这几天有空学习学习&#xff0c;并在后面的项目中进行实战&#xff0c;为后面的分布式项目做铺垫。 Dubbox简介 Dubbox 是一个分布式rpc框架&#xff0c;是阿里巴巴的开源产品&#xff0c;后阿…

Dubbox的简单介绍

简介&#xff1a;Dubbox是一个分布式服务框架&#xff0c;其前身是阿里巴巴开源项目Dubbo,后期阿里巴巴停止维护后&#xff0c;当当网在其基础上进行了优化&#xff0c;并继续维护&#xff0c;改名Dubbox。 一、 Dubbox的基本概念 Dubbox是一种分布式服务架构&#xff0c;它除…

dubbox概论

1.dubbox 是个啥&#xff1f; 他是一个分布式服务架构风格&#xff0c;其前身是阿里巴巴开源项目Dubbo&#xff0c;被国内电商及互联网项目中使用&#xff0c;后期阿里巴巴停止了该项目的维护&#xff0c;当当网便在dubbo基础上进行优化&#xff0c;并继续维护&#xff0c;为了…

Java直接运行JavaScript代码或js文件

执行JavaScript用到的类有&#xff1a; javax.script.ScriptEngine;javax.script.ScriptEngineFactory;javax.script.ScriptEngineManager;javax.script.ScriptException;需求1&#xff1a;执行一个JavaScript字符串&#xff0c;将结果打印在控制台上。 ScriptEngineManager m …

node环境执行js文件

1、JavaScript代码的执行 目前知道的两种方式有两种&#xff1a; 将代码交给浏览器&#xff08;在浏览器环境运行&#xff09; html文件引入js代码&#xff0c;交给浏览器解析将代码载入node的环境中执行&#xff08;在node环境运行&#xff09; 通过在电脑安装的Node.js环境…