热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Dubbo在Spring和SpringBoot中的使用详解

这篇文章主要介绍了Dubbo在Spring和SpringBoot中的使用详解,需要的朋友可以参考下

一、在Spring中使用Dubbo

1、Maven依赖


  com.alibaba
  dubbo
  2.5.3.6
  
    
      log4j
      log4j
    
    
      commons-logging
      commons-logging
    
    
      org.springframework
      spring
    
    
      com.alibaba
      fastjson
    
  


  com.github.sgroschupf
  zkclient
  0.1

2、DUBBO生产者注册到zookeeper的xml配置方式

<&#63;xml version="1.0" encoding="UTF-8"&#63;>

 
 
 
 
 
 
 
 
 
 
 

3、DUBBO消费者注册到zookeeper的xml配置方式

<&#63;xml version="1.0" encoding="UTF-8"&#63;>

 
 
 
 
 
 
 

二、在Spring Boot中使用Dubbo

在Spring Boot中使用Dubbo,不需要使用xml的方式来配置生产者和消费者,需要使用@Bean注解的方式来进行配置。

1、Maven依赖


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


  org.springframework.boot
  spring-boot-starter
  1.2.5.RELEASE


  com.alibaba
  dubbo
  2.5.3.6
  
    
      log4j
      log4j
    
    
      commons-logging
      commons-logging
    
    
      org.springframework
      spring
    
    
      com.alibaba
      fastjson
    
  


  com.github.sgroschupf
  zkclient
  0.1

2、Dubbo基础配置

public class DubboBaseConfig {
  @Bean
  public RegistryConfig registry() {
    RegistryConfig registryCOnfig= new RegistryConfig();
    registryConfig.setAddress("127.0.0.1:2181");
    registryConfig.setProtocol("zookeeper");
    return registryConfig;
  }
  @Bean
  public ApplicationConfig application() {
    ApplicationConfig applicatiOnConfig= new ApplicationConfig();
    applicationConfig.setName("testApp");
    return applicationConfig;
  }
  @Bean
  public MonitorConfig monitorConfig() {
    MonitorConfig mc = new MonitorConfig();
    mc.setProtocol("registry");
    return mc;
  }
  @Bean
  public ReferenceConfig referenceConfig() {
    ReferenceConfig rc = new ReferenceConfig();
    rc.setMonitor(monitorConfig());
    return rc;
  }
  @Bean
  public ProtocolConfig protocol() {
    ProtocolConfig protocolCOnfig= new ProtocolConfig();
    protocolConfig.setPort(20880);
    return protocolConfig;
  }
  @Bean
  public ProviderConfig provider() {
    ProviderConfig providerCOnfig= new ProviderConfig();
    providerConfig.setMonitor(monitorConfig());
    return providerConfig;
  }
}

3、Dubbo生产者配置,需要继承Dubbo基础配置

@Configuration
public class ExportServiceConfig extends DubboBaseConfig {
  @Bean
  public ServiceBean personServiceExport(Person person) {
    ServiceBean serviceBean = new ServiceBean();
    serviceBean.setProxy("javassist");
    serviceBean.setVersion("myversion");
    serviceBean.setInterface(Person.class.getName());
    serviceBean.setRef(person);
    serviceBean.setTimeout(5000);
    serviceBean.setRetries(3);
    return serviceBean;
  }
}

4、Dubbo消费者配置,需要继承Dubbo基础配置

@Configuration
public class ReferenceConfig extends DubboBaseConfig {
  @Bean
  public ReferenceBean person() {
    ReferenceBean ref = new ReferenceBean<>();
    ref.setVersion("myversion");
    ref.setInterface(Person.class);
    ref.setTimeout(5000);
    ref.setRetries(3);
    ref.setCheck(false);
    return ref;
  }
}

5、直接从Spring容器中拿去Person接口即可。

总结

以上所述是小编给大家介绍的Dubbo在Spring和Spring Boot中的使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


推荐阅读
  • 本项目在Java Maven框架下,利用POI库实现了Excel数据的高效导入与导出功能。通过优化数据处理流程,提升了数据操作的性能和稳定性。项目已发布至GitHub,当前最新版本为0.0.5。该项目不仅适用于小型应用,也可扩展用于大型企业级系统,提供了灵活的数据管理解决方案。GitHub地址:https://github.com/83945105/holygrail,Maven坐标:`com.github.83945105:holygrail:0.0.5`。 ... [详细]
  • Go 项目中数据库配置文件的优化与应用 ... [详细]
  • 本文介绍了如何通过掌握 IScroll 技巧来实现流畅的上拉加载和下拉刷新功能。首先,需要按正确的顺序引入相关文件:1. Zepto;2. iScroll.js;3. scroll-probe.js。此外,还提供了完整的代码示例,可在 GitHub 仓库中查看。通过这些步骤,开发者可以轻松实现高效、流畅的滚动效果,提升用户体验。 ... [详细]
  • Node.js 配置文件管理方法详解与最佳实践
    本文详细介绍了 Node.js 中配置文件管理的方法与最佳实践,涵盖常见的配置文件格式及其优缺点,并提供了多种实用技巧和示例代码,帮助开发者高效地管理和维护项目配置,具有较高的参考价值。 ... [详细]
  • 在《Python编程基础》课程中,我们将深入探讨Python中的循环结构。通过详细解析for循环和while循环的语法与应用场景,帮助初学者掌握循环控制语句的核心概念和实际应用技巧。此外,还将介绍如何利用循环结构解决复杂问题,提高编程效率和代码可读性。 ... [详细]
  • 开发笔记:深入解析Android自定义控件——Button的72种变形技巧
    开发笔记:深入解析Android自定义控件——Button的72种变形技巧 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • Java Web开发中的JSP:三大指令、九大隐式对象与动作标签详解
    在Java Web开发中,JSP(Java Server Pages)是一种重要的技术,用于构建动态网页。本文详细介绍了JSP的三大指令、九大隐式对象以及动作标签。三大指令包括页面指令、包含指令和标签库指令,它们分别用于设置页面属性、引入其他文件和定义自定义标签。九大隐式对象则涵盖了请求、响应、会话、应用上下文等关键组件,为开发者提供了便捷的操作接口。动作标签则通过预定义的动作来简化页面逻辑,提高开发效率。这些内容对于理解和掌握JSP技术具有重要意义。 ... [详细]
  • 在尝试对从复杂 XSD 生成的类进行序列化时,遇到了 `NullReferenceException` 错误。尽管已经花费了数小时进行调试和搜索相关资料,但仍然无法找到问题的根源。希望社区能够提供一些指导和建议,帮助解决这一难题。 ... [详细]
  • 【并发编程】全面解析 Java 内存模型,一篇文章带你彻底掌握
    本文深入解析了 Java 内存模型(JMM),从基础概念到高级特性进行全面讲解,帮助读者彻底掌握 JMM 的核心原理和应用技巧。通过详细分析内存可见性、原子性和有序性等问题,结合实际代码示例,使开发者能够更好地理解和优化多线程并发程序。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 本文介绍了使用 Python 编程语言高效抓取微博文本和动态网页图像数据的方法。通过详细的示例代码,展示了如何利用爬虫技术获取微博内容和动态图片,为数据采集和分析提供了实用的技术支持。对于对网络数据抓取感兴趣的读者,本文具有较高的参考价值。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
author-avatar
蓝染
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有