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里的注册信息也是注册上了
相关推荐
wuqingshun31415913 分钟前
MYSQL的乐观锁和悲观锁是什么?
java
唐青枫1 小时前
Java SLF4J 实战指南:从日志门面到 Logback、MDC 和链路追踪
java
jvmind_dev1 小时前
Java GC 实战指南(番外篇):被忽视的隐形杀手 —— Class Unloading 如何拖垮 GC
java·后端
An_s2 小时前
机器学习python之识别图中物品信息
java·linux·开发语言
AIGS0012 小时前
跨越语义鸿沟:企业本体语义平台的构建与落地
java·人工智能·python·机器学习·人工智能ai大模型应用
月落星还在3 小时前
Spring MVC 与 Spring Boot:从“手动挡”到“自动驾驶”的进化论,兼谈前后端分离的哲学
spring boot·spring·云原生·mvc
蓝田~3 小时前
大模型本地部署与远程调用 — 从 API 到 Agent
java·人工智能·claude·claude code
码农进化录3 小时前
Java 程序员的 AI 进化论 | Spring Boot 接入 OpenAI 的六个坑,全帮你踩了
java·spring boot·openai
疯狂成瘾者3 小时前
Java 常见集合方法
java·windows·python
从此以后自律3 小时前
ConcurrentHashMap 超详细详解
java