springcloud如何使用dubbo开发rpc服务及调用

 更新时间:2020年01月22日 11:25:48   作者:王东波  
这篇文章主要介绍了springcloud如何使用dubbo开发rpc服务及调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了springcloud如何使用dubbo开发rpc服务及调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

spring cloud中基于springboot开发的微服务,是基于http的rest接口,也可以开发基于dubbo的rpc接口。

一,创建goodsService模块

  1, 在创建的goodsService模块中再创建goodsServiceApi和goodsServiceServer模块

  2,在oodsServiceApi模块中定义接口 ,goodsServiceServer用于接口实现

  3,goodsServiceServer模块中pom文件引入相关依赖

<dependencies>
    <dependency>
      <groupId>net.biui</groupId>
      <artifactId>goods-service-api</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-dubbo</artifactId>
    </dependency>
  </dependencies>

4,goodsServiceServer中添加配置

spring:
 application:
  name: goods-service
 cloud:
  nacos:
   discovery:
    server-addr: 127.0.0.1:8848
    namespace: c22e5019-0bee-43b1-b80b-fc0b9d847501

dubbo:
 registry:
  address: nacos://127.0.0.1:8848
 scan:
  base-packages: net.biui.impl
 protocol:
  port: 20881
  name: dubbo

5,goodsServiceServer编写接口实现

@org.apache.dubbo.config.annotation.Service
public class GoodsImpl implements GoodsApi {
  public String getGoodsName() {
    return "商品一";
  }
}

6,goodsServiceServer编写启动类

@SpringBootApplication
@EnableDiscoveryClient
public class GoodsServiceServerApplication {
  public static void main(String[] args) {
    SpringApplication.run(GoodsServiceServerApplication.class, args);
  }
}

启动后,dubbo服务会自动注册到nacos服务发现中心

二,创建调用dubbo服务的模块

  1,new -> module -> 填写信息 -> finish

  2,添加pom依赖

<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-dubbo</artifactId>
    </dependency>
    <dependency>
      <groupId>net.biui</groupId>
      <artifactId>goods-service-api</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>

3,添加配置

spring:
 application:
  name: demo-dubbo
 cloud:
  nacos:
   discovery:
    server-addr: 127.0.0.1:8848
    namespace: c22e5019-0bee-43b1-b80b-fc0b9d847501

4,编写controller调用dubbo服务

@RestController
@RequestMapping("/demo")
public class demoController {

  @org.apache.dubbo.config.annotation.Reference
  GoodsApi goodsApi;

  @GetMapping("/test")
  public String test(){
    return "test " + goodsApi.getGoodsName();
  }
}

5,编写启动类

@SpringBootApplication
@EnableDiscoveryClient
public class demoDubboApplication {
  public static void main(String[] args) {
    SpringApplication.run(demoDubboApplication.class, args);
  }
}

启动后,demo-dubbo服务也会自动注册到nacos(因为nacos.register.enable默认为true,即代表自动注册,可以只订阅,不注册),对应接口返回了dubbo服务返回的信息!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java实现stream的三个常用方式(toMap,groupingBy,findFirst)

    Java实现stream的三个常用方式(toMap,groupingBy,findFirst)

    本文主要介绍了Java实现stream的三个常用方式,主要包括toMap,groupingBy,findFirst,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • 教你从头开始用JAVA创建一个自己的简单API并实现第三方调用

    教你从头开始用JAVA创建一个自己的简单API并实现第三方调用

    在日常开发的时候,经常会遇到需要调用别人的接口的场景,下面这篇文章主要给大家介绍了关于如何从头开始用JAVA创建一个自己的简单API并实现第三方调用的相关资料,需要的朋友可以参考下
    2023-12-12
  • IDEA如何一键部署SpringBoot项目到服务器

    IDEA如何一键部署SpringBoot项目到服务器

    文章介绍了如何在IDEA中部署SpringBoot项目到服务器,使用AlibabaCloudToolkit插件进行配置部署,步骤包括设置服务名称、选择文件上传类型、选择jar文件、添加服务器信息、输入上传路径、选择上传后执行的脚本以及执行前的操作命令
    2024-12-12
  • JAVA中4种解析XML文件的方法

    JAVA中4种解析XML文件的方法

    这篇文章主要介绍了JAVA中4种解析XML文件的方法,文中示例代码非常详细,帮助大家更好的了解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Java实现KFC点餐系统过程解析

    Java实现KFC点餐系统过程解析

    这篇文章主要介绍了Java实现KFC点餐系统过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • JavaCV 图像边缘检测之Canny 算法详解

    JavaCV 图像边缘检测之Canny 算法详解

    在图像处理中,边缘检测是基础且关键的一环,其中Canny边缘检测算法以其高精度和可靠性著称,本文详细介绍了使用JavaCV库实现Canny算法的原理和步骤,结合代码示例和案例分析,展示了Canny算法在Java环境下的实现过程和边缘检测效果
    2024-11-11
  • WebUploader+SpringMVC实现文件上传功能

    WebUploader+SpringMVC实现文件上传功能

    WebUploader是由Baidu团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。这篇文章主要介绍了WebUploader+SpringMVC实现文件上传功能,需要的朋友可以参考下
    2017-06-06
  • 详解spring cloud hystrix请求缓存(request cache)

    详解spring cloud hystrix请求缓存(request cache)

    这篇文章主要介绍了详解spring cloud hystrix请求缓存(request cache),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Java function函数式接口的使用方法与实例

    Java function函数式接口的使用方法与实例

    这篇文章主要介绍了Java function函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感与艺术的抽象融为一体,悄然重构了开发者对代码之美的认知,需要的朋友可以参考下
    2025-02-02
  • Java实现多线程的n种方法

    Java实现多线程的n种方法

    在现代编程中,多线程是一项关键技术,它使得程序能够同时执行多个任务,提高了系统的效率和性能,在Java中,有多种方法可以实现多线程,本文将详细介绍几种常见的Java多线程实现方法,需要的朋友可以参考下
    2024-11-11

最新评论