Dubbo官方的Starter发布1.0.0测试版,与Spring Boot的结合将更加自然

公告

今天小马哥非常高兴地向各位小伙伴宣布,官方 Dubbo Spring Boot Starter 1.0.0 公测版已开发完毕,即将发布至 Maven 公有仓库,目前正在内部测试中。

为了收集更多的用户反馈,小马哥诚邀大家一同参与使用、测试以及共同维护,项目工程地址:https://github.com/dubbo/dubbo-spring-boot-project如果您喜爱并想了解 Dubbo Spring Boot 工程的动态,不妨点击 GitHub Star 按钮加以关注。

如有任何意见和建议,请将反馈内容发送于此:https://github.com/dubbo/dubbo-spring-boot-project/issues

了解更多计划和细节,请登录 Dubbo Google Group 参与讨论。

主要特性

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

版本依赖

特别提醒,以下版本依赖尚未发布到 Maven 公有仓库,请自行 checkout 代码到本地,并且通过命令 $./mvnw clean install构建:

  
  
  1. <dependency>

  2.  <groupId>com.alibaba.boot</groupId>

  3.  <artifactId>dubbo-spring-boot-starter</artifactId>

  4.  <version>1.0.0-SNAPSHOT</version>

  5. </dependency>

同时, dubbo-spring-boot-starter 底层依赖 Dubbo 2.5.9

快速上手

服务接口(RPC)

  
  
  1. public interface DemoService {

  2.    String sayHello(String name);

  3. }

服务提供者(Provider)

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

  
  
  1. @Service(

  2.        version = "1.0.0",

  3.        application = "${dubbo.application.id}",

  4.        protocol = "${dubbo.protocol.id}",

  5.        registry = "${dubbo.registry.id}"

  6. )

  7. public class DefaultDemoService implements DemoService {

  8.    public String sayHello(String name) {

  9.        return "Hello, " + name + " (from Spring Boot)";

  10.    }

  11. }

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

  
  
  1. # Spring boot application

  2. spring.application.name = dubbo-provider-demo

  3. server.port = 9090

  4. management.port = 9091

  5. # Dubbo 组件 (如 @Service , @Reference) 扫描路径,多路径以","分割

  6. dubbo.scan.basePackages  = com.alibaba.boot.dubbo.demo.provider.service

  7. # Dubbo Config Bean 外部化配置

  8. dubbo.application.id = dubbo-provider-demo

  9. dubbo.application.name = dubbo-provider-demo

  10. dubbo.protocol.id = dubbo

  11. dubbo.protocol.name = dubbo

  12. dubbo.protocol.port = 12345

  13. dubbo.registry.id = my-registry

提供服务提供者引导类:

  
  
  1. @SpringBootApplication

  2. public class DubboProviderDemo {

  3.    public static void main(String[] args) {

  4.        SpringApplication.run(DubboProviderDemo.class,args);

  5.    }

  6. }

服务消费者(Consumer)

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

  
  
  1. @RestController

  2. public class DemoConsumerController {

  3.    @Reference(version = "1.0.0",

  4.            application = "${dubbo.application.id}",

  5.            url = "dubbo://localhost:12345")

  6.    private DemoService demoService;

  7.    @RequestMapping("/sayHello")

  8.    public String sayHello(@RequestParam String name) {

  9.        return demoService.sayHello(name);

  10.    }

  11. }

增加外部化配置至 application.properties

  
  
  1. # Spring boot application

  2. spring.application.name = dubbo-consumer-demo

  3. server.port = 8080

  4. management.port = 8081

  5. # Dubbo Config Bean 外部化配置

  6. dubbo.application.id = dubbo-consumer-demo

  7. dubbo.application.name = dubbo-consumer-demo

  8. dubbo.protocol.id = dubbo

  9. dubbo.protocol.name = dubbo

  10. dubbo.protocol.port = 12345

提供服务消费者引导类:

  
  
  1. @SpringBootApplication(scanBasePackages = "com.alibaba.boot.dubbo.demo.consumer.controller")

  2. public class DubboConsumerDemo {

  3.    public static void main(String[] args) {

  4.        SpringApplication.run(DubboConsumerDemo.class,args);

  5.    }

  6. }

详情请参考官方示例代码:https://github.com/dubbo/dubbo-spring-boot-project/tree/master/dubbo-spring-boot-samples

最后,为小马哥打Call!!


推荐阅读

请不要在“微服务”的狂热中迷失自我!

微服务2017年度报告出炉:4大客户画像,15%传统企业已领跑

Netflix 的上线工具 Spinnaker

Dubbo将积极适配Spring Cloud生态

浅谈微服务基建的逻辑

Service Mesh:下一代微服务

微服务(Microservices)【翻译】

那些没说出口的研发之痛,做与不做微服务的几大理由


长按指纹

一键关注


点击 “阅读原文” 看看本号其他精彩内容

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值