spring-boot-start-dubbo

spring-boot-start-dubbo,让你可以使用spring-boot的方式开发dubbo程序。使dubbo开发变得如此简单。

如何使用

1. clone 代码(可选,已经发布到中央仓库,可以直接依赖中央仓库的稳定版本)

  1. git clone git@github.com:teaey/spring-boot-starter-dubbo.git

2. 编译安装(可选)

  1. cd spring-boot-starter-dubbo
  2. mvn clean install

3. 修改maven配置文件(可以参考样例spring-boot-starter-dubbo-sample)

  • 在Spring Boot项目的pom.xml增加parent:
  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>1.3.6.RELEASE</version>
  5. </parent>
  • 在Spring Boot项目的pom.xml中添加以下依赖:

根据实际情况依赖最新版本

  1. <dependency>
  2. <groupId>io.dubbo.springboot</groupId>
  3. <artifactId>spring-boot-starter-dubbo</artifactId>
  4. <version>1.0.0</version>
  5. </dependency>
  • maven插件用于打包成可执行的uber-jar文件,添加以下插件(这里一定要加载需要打包成jar的mudule的pom中)
  1. <plugin>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-maven-plugin</artifactId>
  4. <version>1.3.6.RELEASE</version>
  5. </plugin>

4. 发布服务

服务接口:

  1. package cn.teaey.sprintboot.test;
  2. public interface EchoService {
  3. String echo(String str);
  4. }

在application.properties添加Dubbo的版本信息和客户端超时信息,如下:

  1. spring.dubbo.application.name=provider
  2. spring.dubbo.registry.address=zookeeper://192.168.99.100:32770
  3. spring.dubbo.protocol.name=dubbo
  4. spring.dubbo.protocol.port=20880
  5. spring.dubbo.scan=cn.teaey.sprintboot.test

在Spring Application的application.properties中添加spring.dubbo.scan即可支持Dubbo服务发布,其中scan表示要扫描的package目录

  • spring boot启动
  1. package cn.teaey.sprintboot.test;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class Server {
  6. public static void main(String[] args) {
  7. SpringApplication.run(Server.class, args);
  8. }
  9. }
  • 编写你的Dubbo服务,只需要添加要发布的服务实现上添加 @Service ,如下
  1. package cn.teaey.sprintboot.test;
  2. import com.alibaba.dubbo.config.annotation.Service;
  3. @Service(version = "1.0.0")
  4. public class EchoServerImpl implements EchoService {
  5. public String echo(String str) {
  6. System.out.println(str);
  7. return str;
  8. }
  9. }

5. 消费Dubbo服务

  • 在application.properties添加Dubbo的版本信息和客户端超时信息,如下:
  1. spring.dubbo.application.name=consumer
  2. spring.dubbo.registry.address=zookeeper://192.168.99.100:32770
  3. spring.dubbo.scan=cn.teaey.sprintboot.test

在Spring Application的application.properties中添加spring.dubbo.scan即可支持Dubbo服务发布,其中scan表示要扫描的package目录

  • spring boot启动
  1. package cn.teaey.sprintboot.test;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.context.ConfigurableApplicationContext;
  5. @SpringBootApplication
  6. public class Client {
  7. public static void main(String[] args) {
  8. ConfigurableApplicationContext run = SpringApplication.run(Client.class, args);
  9. AbcService bean = run.getBean(AbcService.class);
  10. System.out.println(bean.echoService.echo("abccc"));
  11. }
  12. }
  • 引用Dubbo服务,只需要添加要发布的服务实现上添加 @Reference ,如下:
  1. package cn.teaey.sprintboot.test;
  2. import com.alibaba.dubbo.config.annotation.Reference;
  3. import org.springframework.stereotype.Component;
  4. @Component
  5. public class AbcService {
  6. @Reference(version = "1.0.0")
  7. public EchoService echoService;
  8. }

6. 打包

可以直接执行Server或者Client启动

可以通过mvn clean package 打包成可执行的uber-jar文件

spring boot集成dubbo的更多相关文章

  1. 玩转Spring Boot 集成Dubbo

    玩转Spring Boot 集成Dubbo 使用Spring Boot 与Dubbo集成,这里我之前尝试了使用注解的方式,简单的使用注解注册服务其实是没有问题的,但是当你涉及到使用注解的时候在服务里面 ...

  2. Spring boot 集成 Dubbo 快速搭建

    架构: 1.ZooKeeper:服务注册中心 2.api工程:提供对外暴露的服务API 3.provider:服务提供者 4.consumer:服务消费者 示例如下: (一)新建 Maven 项目 a ...

  3. Spring boot 集成Dubbo简单版,准备工作,

    一.GitHub上找寻Dubbo资源 阿里巴巴在其GitHub上已经写好一个Github案例所以我们只要进入其Git上就可以看到和clone这个项目 二.阿里巴巴GitHub使用 https://gi ...

  4. 一个spring boot集成dubbo的小例子

    请移步github,介绍和代码均在上面了:https://github.com/wuxun1997/voicebox 这里再多说两句.github上的这个小例子默认使用组播作为注册中心,你也可以把组播 ...

  5. spring boot 集成 zookeeper 搭建微服务架构

    PRC原理 RPC 远程过程调用(Remote Procedure Call) 一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样,通过网络传输去访问远程系统资源,R ...

  6. Spring boot集成RabbitMQ(山东数漫江湖)

    RabbitMQ简介 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出 ...

  7. Spring boot 集成Dubbox(山东数漫江湖)

    前言 因为工作原因,需要在项目中集成dubbo,所以去查询dubbo相关文档,发现dubbo目前已经不更新了,所以把目光投向了dubbox,dubbox是当当网基于dubbo二次开发的一个项目,dub ...

  8. Spring Boot集成Jasypt安全框架

    Jasypt安全框架提供了Spring的集成,主要是实现 PlaceholderConfigurerSupport类或者其子类. 在Sring 3.1之后,则推荐使用PropertySourcesPl ...

  9. Spring boot集成swagger2

    一.Swagger2是什么? Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格 ...

随机推荐

  1. 深入理解MyBatis的原理:整个体系

    前言:工作中虽然用到了 MyBatis,可完全不知道为什么,再不学习就晚了,这里将记录我的学习笔记,整个 MyBatis 的体系. 一.简介 1.传统的JDBC JDBC 是一种典型的桥接模式. 使用 ...

  2. 小tip: base64:URL背景图片与web页面性能优化——张鑫旭

    一.base64百科 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息. 某人: 唉,我彻底废柴了,为何上面明明是中文,洒家却看不懂嘞,为什 ...

  3. html-使用表单标签实现注册页面

    案例说明: - 使用表格实现页面效果 - 超链接不想要有效果,使用href="#" - 如果表格里面的单元格没有内容,使用空格作为占位符   - 使用图片标签提交表单 <in ...

  4. maven 安装下载与配置 代理设置 《解决下载慢问题》

    maven:下载地址http://mirror.bit.edu.cn/apache/maven/maven-3/ 解压之后配置环境 %maven_home%  d:\*****path 中添加 %ma ...

  5. Pig安装与应用

    1.  参考说明 参考文档: http://pig.apache.org/docs/r0.17.0/start.html#build 2.  安装环境说明 2.1.  环境说明 CentOS7.4+ ...

  6. HTML复习总结

  7. Pwn with File结构体(三)

    前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 前面介绍了几种 File 结构体的攻击方式,其中包括修改 vtab ...

  8. asar 如何解密加密?electron 的 asar 的具体用法

    来源:https://newsn.net/say/electron-asar.html 在electron中,asar是个特殊的代码格式.asar包里面包含了程序猿编写的代码逻辑.默认情况下,这些代码 ...

  9. 关于easyUI的一些js方法

    1. $("#dg").datagrid("load",{ "userName":$("#s_userName").va ...

  10. (转)透明光照模型与环境贴图之基础理论篇(折射率、色散、fresnel定律) .

     摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人” 材质和光的交互除了反射现象,对于透明物 ...