SpringBoot + Dobbo + nacos

SpringBoot + Dobbo + nacos

一、nacos

1、下载安装包

2、启动nacos

  • 在bin目录下打开cmd
  • 运行启动命令: startup.cmd -m standalone
    • 这样即为运行成功

二、Dobbo

1、进入入门项目github

2、拉取代码

3、启动入门项目

    • 因为这个示例代码是zookeeper的注册中心,我这配置的是nacos的注册中心
    • 所以我们提取关键配置即可

5、dubbo整合nacos

5.1、在 提供者 和 调用者中 都添加依赖
xml 复制代码
把zookeeper的依赖删除换上以下依赖


<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo</artifactId>
    <version>3.0.9</version>
</dependency>
<dependency>
  <groupId>com.alibaba.nacos</groupId>
  <artifactId>nacos-client</artifactId>
  <version>2.1.0</version>
</dependency>
5.2、两个项目里都配置以下信息
  • yml配置信息

    yml 复制代码
    #把zookeeper的配置信息改为以下这个
      registry:
        id: nacos-registry
        address: nacos://localhost:8848
  • 启动dubbo

    • 启动类 上添加注解: @EnableDubbo
  • 两者上面都创建接口(这里的案例是用了一个公共接口

java 复制代码
    /**
     * 示例服务
     *
     */
    public interface DemoService {
    
        String sayHello(String name);
    
        String sayHello2(String name);
    
    }
  • 注意事项,接口所在的位置在,提供者和调用者的位置要一模一样

5.3、在提供者上实现接口
java 复制代码
  /**
   * 示例服务实现类
   *
   */
  @DubboService
  public class DemoServiceImpl implements DemoService {
  
      @Override
      public String sayHello(String name) {
          return "Hello " + name;
      }
      @Override
      public String sayHello2(String name) {
          return name + "zzj";
      }
  }
5.4、在调用者上调用接口
java 复制代码
  @Component
  public class Task implements CommandLineRunner {
      @DubboReference
      private DemoService demoService;
  
      @Override
      public void run(String... args) {
          String result1 = demoService.sayHello("world");
          String result2 = demoService.sayHello2("hello");
          System.out.println("Receive result1 ======> " + result1);
           System.out.println("Receive result2 ======> " + result2);
      }
  }

6、结果

  • 在调用者的控制台能看到输出的信息
  • 查看nacos里的注册信息也是注册上了
相关推荐
>no problem<1 天前
基于cola5.0的基础设施层的多数据库切换方案思路
数据库·spring boot·mybatisplus·cola5.0·数据库迁移适配
心之伊始1 天前
Java 后端接入大模型:从 Token、并发到推理成本的完整估算方法
java·spring boot·性能优化·大模型·llm
BlackTurn1 天前
技术经理投标
java
YG亲测源码屋1 天前
java配置环境变量、jdk环境变量配置、java环境变量设置方法
java·开发语言
MIUMIUKK1 天前
从语法层面,看懂 Python 的特殊处
java·开发语言·python
hujinyuan201601 天前
2026年3月 中国电子学会青少年软件编程(Python)三级考试试卷 真题及答案
java·python·算法
basketball6161 天前
C++ 高级编程:2. 基本线程池实现
java·开发语言·c++
MageGojo1 天前
天气 API 接入实战:基于 ApiZero 实现实时天气、分钟级降水和 15 天预报查询
java·后端·spring·api 接口接入·接口实战
自动跟随1 天前
UWB自动跟随技术全栈解析:从定位算法到“位控一体化“
java·网络·人工智能
喜欢打篮球的普通人1 天前
LLVM 后端流程与关键数据结构:从 IR 到机器码的入门笔记
java·数据结构·笔记