微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dubbo Spring Boot Project 快速上手 Dubbo 的 Spring Boot 简化整合

程序名称:Dubbo Spring Boot Project 快速上手

授权协议: Apache 2.0

操作系统: 跨平台

开发语言: Java

Dubbo Spring Boot Project 快速上手 介绍

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

快速上手

public interface DemoService {

    String sayHello(String name);

}

实现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);

    }

}

实现服务消费者 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);

    }

}

Dubbo Spring Boot Project 快速上手 官网

https://github.com/dubbo/dubbo-spring-boot-project

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐