当前位置:  开发笔记 > 前端 > 正文

Dubbo在Spring和Spring Boot中的使用详解

这篇文章主要介绍了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配置方式

<?xml version="1.0" encoding="UTF-8"?>

 
 
 
 
 
 
 
 
 
 
 

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

<?xml version="1.0" encoding="UTF-8"?>

 
 
 
 
 
 
 

二、在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中的使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有