• 首页
  • 产品中心
    • 数式Oinone四大产品

      低代码开发平台无代码开发平台集成开发平台AI大模型开发
    • 数式Oinone体系能力

      用户与组织权限管理文件管理消息中心国际化业务审计
    • 数式Oinone核心产品特性

      低无一体面向软件公司场景无限制应用级扩容可分可合
  • 服务中心
    • 客户服务

      预约演示方案咨询私有部署找人定制
    • 开发者

      问答下载
    • Oinone学院

      社区学习

    《精讲面向软件公司的低代码平台——以Oinone为例》

  • 合作伙伴
    渠道申请伙伴名录专家库
  • 关于数式
0571-88757863

项目整合:Nacos做为注册中心:如何调用其他系统的SpringCloud服务?


一、概述

Nacos 作为一款功能强大的注册中心,能够为 Dubbo、SpringCloud 等多种微服务框架提供服务注册与发现等关键支持。

当前,Oinone 底层默认采用 Dubbo 作为微服务协议进行调用。然而,若项目中存在调用其他系统所提供的 SpringCloud 服务的需求,Oinone 并不对开发者编写相关代码加以限制。

在此情形下,开发者可参考 Nacos 或 SpringCloud 的官方文档展开工作。只要在实际应用过程中,能够避免诸如 Jar 包冲突等常见问题,众多功能扩展均可供开发者灵活运用,以此满足项目多样化的业务需求,助力构建更为丰富且高效的微服务架构体系。

警告:

Nacos、SpringCloud、SpringCloudAlibaba是有依赖版本严格要求的:点击查看

二、具体示例:

(一)项目中增加依赖

主pom引入兼容的版本:

<dependencyManagement>
  <dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.7.RELEASE</version> <!-- 目前兼容的版本 -->
    <type>pom</type>
    <scope>import</scope>
  </dependency>
</dependencyManagement>

使用模块的pom引入依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

(二)配置 application.yml

spring:
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
        username: nacos
        password: nacos

注:更多 YAML 配置请前往 Module API 查阅。

(三)启动类添加注解

@EnableDiscoveryClient
@EnableFeignClients
public class NacosConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(NacosConsumerApplication.class, args);
    }
}

(四)验证

创建 Feign Client 接口


import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;

@FeignClient(name = "nacos-demo") // 指定目标服务的名称
public interface ProviderClient {

    @GetMapping("/hello")
    String hello();
}

创建 Controller 调用 Feign Client

@RestController
public class ConsumerController {

    private final ProviderClient providerClient;

    public ConsumerController(ProviderClient providerClient) {
        this.providerClient = providerClient;
    }

    @GetMapping("/hello")
    public String hello() {
        return providerClient.hello();
    }
}

在浏览器中访问 http://localhost:8082/hello 你就会看到服务提供者返回的响应。

编辑此页
最近更新:2026/1/15 04:02
上一页
页面设计:自定义用户中心菜单
下一页
项目整合:Oinone如何支持构建分布式项目
默认页脚
Copyright © 2026 Mr.Hope