首页 > 其他分享 >使用 Spring Boot 和 Dubbo 进行集成

使用 Spring Boot 和 Dubbo 进行集成

时间:2023-07-07 21:01:34浏览次数:42  
标签:Dubbo String dubbo Spring Boot application public name

1. 创建一个 Spring Boot 项目,可以使用 Spring Initializr(https://start.spring.io/)生成一个初始的项目结构。
2. 在 pom.xml 中添加 Dubbo 和相关依赖:

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.12</version>
</dependency>

3. 创建一个 Dubbo 服务提供者的接口和实现类:

// 服务接口
public interface HelloService {
    String sayHello(String name);
}

// 服务实现类
@Service
public class HelloServiceImpl implements HelloService {
    @Override
    public String sayHello(String name) {
        return "Hello, " + name;
    }
}

4. 在 application.properties 或 application.yml 中配置 Dubbo:

# Dubbo 应用名称
dubbo.application.name=your-application-name
# Dubbo 注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
# Dubbo 服务提供者暴露的端口
dubbo.protocol.port=20880

5. 创建一个 Dubbo 服务消费者的接口和实现类:

@RestController
public class HelloController {
    @Reference
    private HelloService helloService;

    @GetMapping("/hello")
    public String sayHello(@RequestParam String name) {
        return helloService.sayHello(name);
    }
}

6. 运行 Spring Boot 应用,Dubbo 将会自动启动并将服务注册到注册中心。

7. 创建一个 Dubbo 服务消费者的启动类:

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

8. 在 application.properties 或 application.yml 中配置 Dubbo 消费者:

# Dubbo 应用名称
dubbo.application.name=your-consumer-application-name
# Dubbo 注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181

9. 编写一个 RestController 来调用 Dubbo 服务:

@RestController
public class HelloController {
    @Reference
    private HelloService helloService;

    @GetMapping("/hello")
    public String sayHello(@RequestParam String name) {
        return helloService.sayHello(name);
    }
}

10. 运行 Dubbo 服务提供者和 Dubbo 服务消费者的应用。
11. 访问 http://localhost:8080/hello?name=World ,应该能够看到返回的结果 "Hello, World"。
以上是使用 Spring Boot 和 Dubbo 进行集成的完整示例。通过在消费者应用中使用 @Reference 注解引用服务,即可实现对 Dubbo 服务的调用。同时,确保提供者和消费者的配置中都有正确的注册中心地址,以便进行服务的注册和发现。

基于 GPT 生成。

标签:Dubbo,String,dubbo,Spring,Boot,application,public,name
From: https://www.cnblogs.com/vchat/p/17536044.html

相关文章

  • springboot 常见面试题
    1.什么是SpringBoot?它的主要特点是什么?-SpringBoot是一个基于Spring框架的开源框架,用于简化Spring应用程序的开发和部署。-其主要特点包括自动配置、约定优于配置、快速开发、独立运行、简化部署等。2.SpringBoot如何简化Spring应用程序的开发和部署?-SpringB......
  • Springcloud2021+Nacos2.2+Dubbo3+Seata1.6实现分布式事务
    示例代码地址:https://gitee.com/gtnotgod/Springcloud-alibaba.git更详细参考Gitee完整的项目:https://gitee.com/gtnotgod/Springcloud-alibaba.git官网下载Nacoshttps://nacos.io/zh-cn/index.html压缩包解压:配置Nacos:**/nacos/conf/application.properties#********......
  • 安卓boot.img镜像文件提取
    环境要求:Python3解压刷机包解压刷机包的目录结构如下:/home/ubuntu/94e982775c704e889534f291f5522de1├──META-INF│  └──com│  └──android│  ├──metadata│  ├──metadata.pb│  └──otacert├─......
  • SpringBoot3 学习笔记(开始配置)
    一、使用工具IntelliJ,下载JDK20https://www.oracle.com/java/technologies/downloads/二、采用SpringInitializr新建项目, 三、勾选web和lombok四、点Finish后等待新建目录如下,删掉无用的目录和文件:五、最终如下: 六、右键com.wind,新建controller.HellWorldController......
  • 要在pbootcms中验证是否已登录,并将微信扫码登录的情况纳入考虑
    要在pbootcms中验证是否已登录,并将微信扫码登录的情况纳入考虑,可以按照以下步骤进行操作:首先,在pbootcms的应用目录下创建一个wxlogin.php文件,用于处理微信扫码登录的逻辑。请参考上一个回答中的代码示例。修改pbootcms的Auth中间件,用于验证用户是否已登录。在app/Http/Mi......
  • spring的工具类BeanUtils.copyProperties 非基本数据类型时的坑
    复现前准备三个类,Student、Source、Target。Source和Target里面包含一个相同的非基本类型的字段(如下面示例中的stu字段)publicclassStudent{privateStringname;publicStudent(Stringname){this.name=name;}publicStringgetName(){......
  • Ubuntu系统部署springcloud+nacos遇到的问题。
    1,部署上的jar包运行正常,但是通过浏览器不能访问,telnet+IP+端口连接不通。小皮面板访问后台接口也是不通但是小皮面板可以通过浏览器访问。具体问题暂未解决。2,改用docker部署,将jar包和前端打的包,nacos,redis等打成镜像,放进docker里对外映射出端口可以正常访问。在用docker部署过......
  • SpringMVC学习巩固(页面跳转——重定向与转发)
    **要求方法返回值为String**默认:逻辑视图视图解析器找到对应的页面Handler中返会的String类型为跳转到的页面eg:return"hello";则执行方法后页面会跳转到hello.html重定向forward:@GetMapping("forward")publicStringforward(Stringpath){Sy......
  • AMD ZCU106 U-Boot 2023.1 Open Source Flow 编译的缺少“gnutls/gnutls.h”错误
    AMDZCU106U-Boot2023.1OpenSourceFlow编译的缺少“gnutls/gnutls.h”错误获取代码以下列命令获取U-Boot代码petalinux-devtoolmodifyu-boot-xlnx在目录components/yocto/workspace/sources/u-boot-xlnx下应该有u-boot-xlnx的源代码。获取配置文件查找u-boot的配......
  • Spingboot启动jar包引用外部的yml配置文件
    Spingboot启动jar包引用外部的yml配置文件1、指定文件目录命令java-jarxxxxx.jar--spring.config.location=路径(application.yml)2、jar包目录下java-jarxxxx.jar2.1可以在当前Jar文件目录建config同级目录,这个config同级目录放入application.yml2.2也可以在当前......