本章将创建一个dubbo 消费者工程并实现远程调用消费者示例。环境:springboot + dubbo + zookeeper, 工程目录如下:

主要步骤:

  1. 创建maven工程添加pom依赖
  2. 创建SpringBoot配置文件application.properties
  3. 编写接口调用实现类
  4. 编写webController 实现测试查看
  5. 编写SpringBoot工程启动类
  6. 启动测试调用远程接口

一、创建maven工程添加pom依赖

主要依赖 SpringBoot依赖、dubbo依赖、web依赖、公共接口依赖(代码会在末尾提供者工程文章中编写)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xiaohui.boot-order-service-consumer</groupId><artifactId>boot-order-service-consumer</artifactId><version>1.0-SNAPSHOT</version><properties><java.version>1.8</java.version><maven-jar-plugin.version>3.1.1</maven-jar-plugin.version><dubbo.version>2.7.3</dubbo.version></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.4.RELEASE</version></parent><dependencies><!-- 公共接口模块 --><dependency><groupId>com.xiaohui.serviceinterface</groupId><artifactId>service-interface</artifactId><version>1.0</version></dependency><!-- web模块 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- dubbo 依赖--><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>${dubbo.version}</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-dependencies-zookeeper</artifactId><version>${dubbo.version}</version><type>pom</type><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion></exclusions></dependency></dependencies></project>

二、创建SpringBoot配置文件application.properties

主要包含了web模块访问端口以及dubbo消费者工程应用名称、以及zookeeper服务注册发现地址.

server.port=8080
dubbo.application.name=order-service-consumer
dubbo.registry.address=zookeeper://192.168.0.126:2181

三、编写接口调用实现类

在服务消费者调用实现类中远程接口属性使用了dubbo的 @Reference 注解。类上添加的为Spring的@Service注解。Reference注解进行引用注册的服务。

package com.xiaohui.service.impl;import com.xiaohui.domain.UserAddress;
import com.xiaohui.service.OrderService;
import com.xiaohui.service.UserService;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class OrderServiceImpl implements OrderService {@Referenceprivate UserService userService;@Overridepublic List<UserAddress> initOrder(String userId) {return userService.queryAllUserAddress(userId);}
}

四、编写webController 提供访问测试

package com.xiaohui.controller;import com.xiaohui.domain.UserAddress;
import com.xiaohui.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
@RequestMapping("order")
public class OrderController {@Autowiredprivate OrderService orderService;@GetMapping(value = "/getAddress")public List<UserAddress> getUserAddress(String userId){return orderService.initOrder(userId);}}

五、编写SpringBoot工程启动类

注意消费者工程启动类也需要添加dubbo @EnableDubbo注解。

package com.xiaohui;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@EnableDubbo
public class BootConsumerApplication {public static void main(String[] args) {SpringApplication.run(BootConsumerApplication.class, args);System.out.println("服务消费者启动....");}
}

六、启动测试调用远程接口

首先我们保证服务提供者工程以及zookeeper服务正常启动。我们启动服务消费者工程。

登录dubbo控制台查看是否正常启动。

进行访问 http://127.0.0.1:8080/order/getAddress?userId=999 测试,展示如下:

相关文章:

Dubbo(六)使用SpringBoot搭建dubbo服务提供者工程 (包含公共接口工程代码)

ZooKeeper(一)linux上单机与集群的搭建

Dubbo(七)使用SpringBoot搭建dubbo消费者工程相关推荐

  1. Dubbo(六)使用SpringBoot搭建dubbo服务提供者工程

    环境:springboot + dubbo +zookeeper.工程完整文件目录如下: 主要步骤: 创建maven工程并添加pom依赖 添加springboot配置文件 编写服务接口实现类 编写sp ...

  2. SpringBoot (七) :SpringBoot 整合dubbo

    Dubbo是什么 Dubbo是alibaba的一款开源软件,它是基于java的RPC调用框架. Dubbo主要提供了三种功能: 提供了基于接口的远程调用接口 容错性和负载均衡 服务自动注册及发现 安装 ...

  3. springboot+dubbo+zk集群搭建

    zookeeper的集群搭建在上一编已经说过,不会的可以查看. 下面开始搭建springboot+dubbo+zk注册中心的demo 生产者工程目录如图 一.创建dubbo-provider父工程 父 ...

  4. dubbo protocol port 消费者端_企业级 SpringBoot 与 Dubbo 的并用

    点击上方"匠心零度",选择"设为星标" 做积极的人,而不是积极废人 作者:SimpleWu cnblogs.com/SimpleWu/p/10833555.ht ...

  5. Dubbo(十五)springboot工程dubbo整合SpringCloud Hystrix

    本章将编写一个使用SpringBoot工程集成dubbo使用hystrix组件实现服务熔断示例.包含服务提供者工程和服务消费者工程.主要在实现整合springcloud hystrix过程步骤如下: ...

  6. 搭建大型分布式服务(十四)SpringBoot整合dubbo starter

    一.本文要点 接上文,我们已经把SpringBoot整合mybatis+Hikari+es+redis+kafka了,本文将介绍SpringBoot如何整合dubbo.系列文章完整目录 dubbo注解 ...

  7. 分布式与微服务系列(三)、SpringBoot+Zookeeper集群+Nginx反向代理+Dubbo分布式托管(提供者、消费者)

    SpringBoot+Zookeeper集群+Nginx反向代理+Dubbo分布式托管(提供者.消费者) 一.软件架构和微服务需求 1.1.微服务需求 1.2.框架选择 1.3.集群分布(下面为此图实 ...

  8. SpringBoot整合Dubbo+Zookeeper进行分布式搭建系统

    QUESTIONl:SpringBoot整合Dubbo+Zookeeper进行分布式搭建系统? ANSWER: 一:创建项目模块 1.1.创建一个Empty Project 名称:Dubbo 1.2. ...

  9. Springboot整合dubbo搭建基本的消费、提供和负载均衡

    文章目录 1.确定接口 2.创建提供者 2.1 pom配置 2.2dubbo配置文件 2.3 application.properties 2.4 mybatis相关 2.4.1 配置UserMapp ...

最新文章

  1. webpack笔记(2)打包src下的html文件
  2. c语言继承机制的作用,计算机二级C++强化试题及答案
  3. python3 创建简单的游戏窗口,并有单独的配置文件
  4. 使用BusyBox制作嵌入式Linux根文件系统
  5. HDOJ1879(继续畅通工程)
  6. mysql general clomun_几个简单的sql查询
  7. 天才少年创世纪:从创建应用程序,到被哈佛录取、登上头条
  8. 开源 Android pdf 阅读器开发总结
  9. 我的linux redhat6.0之路-1.2
  10. PHP get_class_methods函数用法
  11. vue使用下载插件来完成下载文件
  12. aria2+RPC+m3u8下载工具(windows版)
  13. 程序员实用小工具(一)
  14. github windows系统监控_windows快速制作U盘启动工具Rufus
  15. 显微镜下的中国--读《显微镜下的大明》有感
  16. Skyscrapers (hard version)
  17. 21中科大软件学院上岸经验帖
  18. 何谓短缺和过剩_关于资源短缺,应用程序服务器和微服务
  19. JLINK仿真器来仿真调试mini2440
  20. 百度apistore第三方登陆

热门文章

  1. Android学习之反编译工具的使用
  2. C#利用Microsoft.Office.Interop.Excel导出数据到Excel
  3. hbuilderx写Ajax,Hbuilder怎么使用ajax?求指教啊
  4. mysql数据库1对n_MySQL数据库InnnoDB引擎事务说明
  5. 前端JavaScript之BOM与DOM
  6. 分页,条件查找后再分页
  7. 【Redis学习笔记】2018-06-14 Redis源码学习之sentinel
  8. url传参(中文乱码)值得注意的地方
  9. Linux程序包管理2
  10. Windows 下安装 MongoDB