Dubbo Spring Boot Project

Dubbo 的 Spring Boot 简化整合
授权协议 Apache 2.0
开发语言 Java
所属分类 Web应用开发、 RPC/XMLRPC项目
软件类型 开源软件
地区 国产
投 递 者 桑鸿志
操作系统 跨平台
开源组织 阿里巴巴
适用人群 未知
 软件概览

Dubbo Spring Boot Project 致力于简化 Dubbo 应用在 Spring Boot 环境中的开发,主要包括自动装配(Auto-Configure)、外部化配置(Externalized-Configuration)以及生产准备(Actuator)等。

快速上手

服务接口(RPC)

public interface DemoService {

    String sayHello(String name);

}

服务提供者(Provider)

实现DemoServer接口提供服务(放置于 com.alibaba.boot.dubbo.demo.provider.service包下):

@Service(
        version = "1.0.0",
        application = "${dubbo.application.id}",
        protocol = "${dubbo.protocol.id}",
        registry = "${dubbo.registry.id}"
)
public class DefaultDemoService implements DemoService {

    public String sayHello(String name) {
        return "Hello, " + name + " (from Spring Boot)";
    }

}

配置application.properties 以提供外部化配置源:

# Spring boot application
spring.application.name = dubbo-provider-demo
server.port = 9090
management.port = 9091

# Dubbo 组件 (如 @Service , @Reference) 扫描路径,多路径以","分割
dubbo.scan.basePackages  = com.alibaba.boot.dubbo.demo.provider.service

# Dubbo Config Bean 外部化配置
dubbo.application.id = dubbo-provider-demo
dubbo.application.name = dubbo-provider-demo
dubbo.protocol.id = dubbo
dubbo.protocol.name = dubbo
dubbo.protocol.port = 12345
dubbo.registry.id = my-registry

提供服务提供者引导类:

@SpringBootApplication
public class DubboProviderDemo {

    public static void main(String[] args) {

        SpringApplication.run(DubboProviderDemo.class,args);

    }

}

服务消费者(Consumer)

实现服务消费者 Controller (位于com.alibaba.boot.dubbo.demo.consumer.controller包下):

@RestController
public class DemoConsumerController {

    @Reference(version = "1.0.0",
            application = "${dubbo.application.id}",
            url = "dubbo://localhost:12345")
    private DemoService demoService;

    @RequestMapping("/sayHello")
    public String sayHello(@RequestParam String name) {
        return demoService.sayHello(name);
    }

}

增加外部化配置至application.properties

# Spring boot application
spring.application.name = dubbo-consumer-demo
server.port = 8080
management.port = 8081

# Dubbo Config Bean 外部化配置
dubbo.application.id = dubbo-consumer-demo
dubbo.application.name = dubbo-consumer-demo
dubbo.protocol.id = dubbo
dubbo.protocol.name = dubbo
dubbo.protocol.port = 12345

提供服务消费者引导类:

@SpringBootApplication(scanBasePackages = "com.alibaba.boot.dubbo.demo.consumer.controller")
public class DubboConsumerDemo {

    public static void main(String[] args) {

        SpringApplication.run(DubboConsumerDemo.class,args);

    }

}
  • Project Address:https://gitee.com/mirrors/Dubbo-Spring-Boot-Project Dubbo Spring Boot Project Dubbo Spring Boot Project makes it easy to create Spring Boot application using Dubbo as RPC Framework. Wh

  • 序 本文主要研究一下dubbo spring boot的DubboShutdownMetadata AbstractDubboMetadata dubbo-spring-boot-project-2.7.3/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/endpoin

  • org.apache.dubbo dubbo-spring-boot-starter 2.7.5 Spring Boot 版本 org.springframework.boot spring-boot-starter-parent 2.1.1.RELEASE 1.2 模块关系 根工程 order:管理工程信息; 子工程 order-api:定义RPC服务的接口、参数以及响应结果的结果集; 子工程

 相关资料
  • 本文向大家介绍springboot与redis的简单整合实例,包括了springboot与redis的简单整合实例的使用技巧和注意事项,需要的朋友参考一下 前言 Redis是一个缓存、消息代理和功能丰富的键值存储。StringBoot提供了基本的自动配置。本文记录一下springboot与redis的简单整合实例 官方文档:https://docs.spring.io/spring-boot/do

  • 本文向大家介绍springBoot 与neo4j的简单整合示例,包括了springBoot 与neo4j的简单整合示例的使用技巧和注意事项,需要的朋友参考一下 Neo4j简介 Neo4j是基于java语言实现的世界领先的图形数据库, 是一个高性能的图形存储,具有成熟和强大的数据库所需的所有功能,如友好的查询语言(Cypher)和ACID事务。对于许多应用程序,与关系数据库相比,Neo4j提供了数量

  • 本文向大家介绍SpringBoot整合Redis的步骤,包括了SpringBoot整合Redis的步骤的使用技巧和注意事项,需要的朋友参考一下 1.添加配置文件: Redis.properties 设置配置类: RedisConfig 2.将对象转化为Json格式入门案例 API: MAPPER.writeValueAsString(itemDesc); 3.将对象转化为Json格式格式优化 4.

  • 本文向大家介绍详解SpringBoot简化配置分析总结,包括了详解SpringBoot简化配置分析总结的使用技巧和注意事项,需要的朋友参考一下 在SpringBoot启动类中,该主类被@SpringBootApplication所修饰,跟踪该注解类,除元注解外,该注解类被如下自定注解修饰。 让我们简单叙述下它们各自的功能: @ComponentScan:扫描需要被IoC容器管理下需要管理的Bean

  • 本文向大家介绍SpringBoot整合Xxl-Job的完整步骤记录,包括了SpringBoot整合Xxl-Job的完整步骤记录的使用技巧和注意事项,需要的朋友参考一下 一、下载Xxl-Job源代码并导入本地并运行 Github地址: https://github.com/xuxueli/xxl-job 中文文档地址: https://www.xuxueli.com/xxl-job/ 1.使用Ide

  • 本文向大家介绍详解springboot整合mongodb,包括了详解springboot整合mongodb的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍springboot如何整合MongoDB。 准备工作 安装 MongoDB jdk 1.8 maven 3.0 idea 环境依赖 在pom文件引入spring-boot-starter-data-mongodb依赖: 数据源配置 如

  • 本文向大家介绍springboot整合freemarker详解,包括了springboot整合freemarker详解的使用技巧和注意事项,需要的朋友参考一下 前提: 开发工具:idea 框架:spring boot、maven 1、pom文件添加依赖 2、新建spring web项目,会自动生成application.properties. 使用application.properties配置文

  • 本文向大家介绍Springboot整合activemq的方法步骤,包括了Springboot整合activemq的方法步骤的使用技巧和注意事项,需要的朋友参考一下 今天呢心血来潮,也有很多以前的学弟问到我关于消息队列的一些问题,有个刚入门,有的有问题都来问我,那么今天来说说如何快速入门mq。 一、首先说下什么是消息队列? 1.消息队列是在消息的传输过程中保存消息的容器。 二、为什么要用到消息队列?