Dubbo(七)使用SpringBoot搭建dubbo消费者工程
本章将创建一个dubbo 消费者工程并实现远程调用消费者示例。环境:springboot + dubbo + zookeeper, 工程目录如下:
主要步骤:
- 创建maven工程添加pom依赖
- 创建SpringBoot配置文件application.properties
- 编写接口调用实现类
- 编写webController 实现测试查看
- 编写SpringBoot工程启动类
- 启动测试调用远程接口
一、创建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消费者工程相关推荐
- Dubbo(六)使用SpringBoot搭建dubbo服务提供者工程
环境:springboot + dubbo +zookeeper.工程完整文件目录如下: 主要步骤: 创建maven工程并添加pom依赖 添加springboot配置文件 编写服务接口实现类 编写sp ...
- SpringBoot (七) :SpringBoot 整合dubbo
Dubbo是什么 Dubbo是alibaba的一款开源软件,它是基于java的RPC调用框架. Dubbo主要提供了三种功能: 提供了基于接口的远程调用接口 容错性和负载均衡 服务自动注册及发现 安装 ...
- springboot+dubbo+zk集群搭建
zookeeper的集群搭建在上一编已经说过,不会的可以查看. 下面开始搭建springboot+dubbo+zk注册中心的demo 生产者工程目录如图 一.创建dubbo-provider父工程 父 ...
- dubbo protocol port 消费者端_企业级 SpringBoot 与 Dubbo 的并用
点击上方"匠心零度",选择"设为星标" 做积极的人,而不是积极废人 作者:SimpleWu cnblogs.com/SimpleWu/p/10833555.ht ...
- Dubbo(十五)springboot工程dubbo整合SpringCloud Hystrix
本章将编写一个使用SpringBoot工程集成dubbo使用hystrix组件实现服务熔断示例.包含服务提供者工程和服务消费者工程.主要在实现整合springcloud hystrix过程步骤如下: ...
- 搭建大型分布式服务(十四)SpringBoot整合dubbo starter
一.本文要点 接上文,我们已经把SpringBoot整合mybatis+Hikari+es+redis+kafka了,本文将介绍SpringBoot如何整合dubbo.系列文章完整目录 dubbo注解 ...
- 分布式与微服务系列(三)、SpringBoot+Zookeeper集群+Nginx反向代理+Dubbo分布式托管(提供者、消费者)
SpringBoot+Zookeeper集群+Nginx反向代理+Dubbo分布式托管(提供者.消费者) 一.软件架构和微服务需求 1.1.微服务需求 1.2.框架选择 1.3.集群分布(下面为此图实 ...
- SpringBoot整合Dubbo+Zookeeper进行分布式搭建系统
QUESTIONl:SpringBoot整合Dubbo+Zookeeper进行分布式搭建系统? ANSWER: 一:创建项目模块 1.1.创建一个Empty Project 名称:Dubbo 1.2. ...
- Springboot整合dubbo搭建基本的消费、提供和负载均衡
文章目录 1.确定接口 2.创建提供者 2.1 pom配置 2.2dubbo配置文件 2.3 application.properties 2.4 mybatis相关 2.4.1 配置UserMapp ...
最新文章
- webpack笔记(2)打包src下的html文件
- c语言继承机制的作用,计算机二级C++强化试题及答案
- python3 创建简单的游戏窗口,并有单独的配置文件
- 使用BusyBox制作嵌入式Linux根文件系统
- HDOJ1879(继续畅通工程)
- mysql general clomun_几个简单的sql查询
- 天才少年创世纪:从创建应用程序,到被哈佛录取、登上头条
- 开源 Android pdf 阅读器开发总结
- 我的linux redhat6.0之路-1.2
- PHP get_class_methods函数用法
- vue使用下载插件来完成下载文件
- aria2+RPC+m3u8下载工具(windows版)
- 程序员实用小工具(一)
- github windows系统监控_windows快速制作U盘启动工具Rufus
- 显微镜下的中国--读《显微镜下的大明》有感
- Skyscrapers (hard version)
- 21中科大软件学院上岸经验帖
- 何谓短缺和过剩_关于资源短缺,应用程序服务器和微服务
- JLINK仿真器来仿真调试mini2440
- 百度apistore第三方登陆