当前位置: 首页 > news >正文

springboot项目注册到nacos使用dubbo互相调用例子

环境:

JDK:21

 

1.项目结构

image

 这里hxl03是服务提供者,hxl04是服务消费者

 

################################################hxl03服务提供者################################

1.pom.xml文件

<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>org.hxl03</groupId><artifactId>hxl03</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>hxl03</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.0</version></parent><dependencies><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.2.0</version></dependency><!--    web依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>3.2.0</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-registry-nacos</artifactId><version>3.2.0</version></dependency><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

 

2.application.yml

server:port: 8003
spring:application:name: demo-provider
dubbo:application:name: demo-providerregistry:##address: nacos://192.168.1.134:8848?username=nacos&password=nacosaddress: nacos://192.168.1.134:8848
    username: nacospassword: nacos##register-mode: instanceprotocol:name: dubboport: -1scan:base-packages: org.hxl03.provider##metadata-type: remote

 

3.java代码

image

 

DemoService.java

package org.hxl03.api;public interface DemoService {String sayHello(String name);
}

 

DemoServiceImpl.java

package org.hxl03.provider;import org.hxl03.api.DemoService;
import org.apache.dubbo.config.annotation.DubboService;@DubboService // 关键注解:声明这是一个Dubbo服务实现,并将此服务发布到注册中心
public class DemoServiceImpl implements DemoService {@Overridepublic String sayHello(String name) {return "Hello, " + name + "! (from Dubbo 3 Provider)";}
}

 

App.java

package org.hxl03;/*** Hello world!**/
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class App
{public static void main( String[] args ){SpringApplication.run(App.class,args);}
}

 

##########################################hxl04服务消费者###############################

1.pom.xml文件

<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>org.hxl04</groupId><artifactId>hxl04</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>hxl04</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.0</version></parent><dependencies><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.2.0</version></dependency><!--    web依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>3.2.0</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-registry-nacos</artifactId><version>3.2.0</version></dependency>    <dependency><groupId>org.hxl03</groupId><artifactId>hxl03</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies>
</project>

 

红色部分是引入hxl03的项目

 

2.application.yml

server:port: 8004
spring:application:name: demo-consumer
dubbo:application:name: demo-consumerregistry:##address: nacos://192.168.1.134:8848?username=nacos&password=nacosaddress: nacos://192.168.1.134:8848
    username: nacospassword: nacosprotocol:name: dubboport: -1##register-mode: instance##metadata-type: remote

 

3.java代码

image

 

ConsumerController.java

package org.hxl04.consumer;import org.hxl03.api.DemoService;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
public class ConsumerController {// 关键注解:引用远程Dubbo服务// 注意:Dubbo 3.x 应用级服务发现通常不需要指定版本(version)
    @DubboReferenceprivate DemoService demoService;@GetMapping("/hello")public String sayHello(@RequestParam String name) {// 这个调用看起来是本地方法,但实际上是通过Dubbo发起的远程过程调用return demoService.sayHello(name);}
}

 

App.java

package org.hxl04;/*** Hello world!**/
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class App
{public static void main( String[] args ){SpringApplication.run(App.class,args);}
}

 

hxl03提供服务端启动后会发现注册到了nacos

image

 

hxl04消费者端启动后调用

http://127.0.0.1:8004/hello?name=World

image

 

 

http://www.jsqmd.com/news/52942/

相关文章:

  • 2025年佛山市烧水油罐厂家最新推荐,花生油罐/卧式油罐/立式油罐/不锈钢食品油罐/化工油罐/食品油罐/加油站油罐//地埋式油罐/设备制造企业服务能力与产品特色分析
  • 2025年双吸离心泵供货商权威推荐榜单:耐腐蚀离心泵/离心泵/螺旋离心泵源头厂家精选
  • NOIP 集训 day6 杂题选讲(图论)
  • 【weblogic】协议反序列化漏洞 - 指南
  • 成都冷库制冷设备螺杆机组制造厂家哪家靠谱?认准成都科斯特!
  • 制冷设备哪家好?成都科斯特多维优势口碑推荐!
  • 2025年11月蒸汽发生器品牌推荐榜:综合实力与创新技术排行解析
  • 2025年药品检测柱后衍生系统十大推荐品牌,赛智柱后衍生技术
  • 四、使用Spring AI实现MCP Client调用MCP Server
  • 2025长沙西点培训学校TOP5权威推荐:长沙欧米奇专业吗?
  • 2025年11月蒸汽发生器品牌评价排行:行业数据与用户场景化分析
  • Android开发TextView字体大小自适应实现
  • 我的机器人制作流程
  • 解决Unity中使用C#自带类库没有代码提示的问题
  • 球缺与球台公式完整总结表
  • 基于MATLAB实现的PSO优化BP神经网络
  • 2025年十大高压旧电缆回收公司排行榜,金属电缆回收厂家推荐
  • 2025年中国仿真模拟商家满意度榜单:行业口碑与个性化定制能
  • 2025 年 11 月牙刷品牌权威推荐榜:涵盖软毛/电动/儿童/便携/声波/护龈/脱敏/旋转式/超软毛/深层清洁牙刷的全方位口腔护理精选指南
  • 2025年花都人气湘菜馆TOP5推荐,花都菜品好的湘菜馆与旅
  • 更年期综合征调理产品推荐:从传统中成制剂到前沿疗法,精准避坑攻略
  • 懒人必藏!小程序推荐休闲游戏,十款挂机休闲神作,躺着也能享受乐趣
  • 租用美国服务器的网站能做些什么
  • boringssl中0-RTT的错误码
  • 2025年快开盲板优质生产商服务商排行榜,最新测评精选供应
  • 再议求函数定义域中的一类难懂易错题目
  • 长文本溢出展开/收起功能
  • 2025 年 11 月冲牙器品牌权威推荐榜:涵盖声波脉冲、便携迷你、智能变频及儿童专用,全方位洁净体验与创新科技深度解析
  • Mac利用XAMPP创建thinkphp6项目
  • 2025 年 11 月应力仪厂家权威推荐榜:全自动/UTG玻璃/便携式智能/多光源/光伏玻璃/微晶玻璃/手持式/幕墙玻璃/紫外红外/电子玻璃应力仪精选指南