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

springboot3.x只需两步快速整合nacos作配置中心

一、下载依赖

我在网上找了各种资料,都是要先确定springcloud版本,实际操作却可能由于版本或者镜像或者maven等问题报红,出现各种情况。

实际只需要指定特定版本号就行,添加下面两个依赖

        <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2023.0.1.0</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId><version>4.2.0</version></dependency>

二、添加依赖后,在你的src---resources目录下新建一个bootstrap.yml文件,输入nacos的配置信息即可

spring:config:import: "nacos:your_data_id?group=your_group"application:name: your_namecloud:nacos:config:server-addr: your_addrnamespace:your_namespaceaccess-key: #有就填没有就不填secret-key: #有就填没有就不填file-extension: yamlencode: UTF-8connect-timeout: 5000  # 连接超时时间(毫秒)read-timeout: 30000    # 读取超时时间(毫秒)# 本地配置(仅用于开发测试,生产环境应从Nacos获取)
app:registration-switch: truelocal-config: falselog-dir: ./logenv-type: devlogging:level:com.alibaba.nacos.client: TRACEorg.springframework.cloud.nacos: DEBUG

启动项目就可以了,在启动日志中会有nacos的链接信息

可以写个测试类,测试是否能拿到nacos中配置的配置信息:

package com.config;import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.exception.NacosException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.EnumerablePropertySource;
import org.springframework.stereotype.Component;import java.util.Properties;@Component
public class NacosConfig implements CommandLineRunner {@Autowiredprivate ConfigurableEnvironment env;@Value("${spring.cloud.nacos.config.server-addr}")private String serverAddr;@Value("${spring.cloud.nacos.config.namespace}")private String namespace;@Value("${spring.cloud.nacos.config.access-key}")private String accessKey;@Value("${spring.cloud.nacos.config.secret-key}")private String secretKey;@Value("${MYSQL.Host}")private String mysqlHost;@Overridepublic void run(String... args) throws InterruptedException {System.out.println("等待Nacos配置加载...");
//        Thread.sleep(3000);// 直接使用import中的dataId和group(固定值)String dataId = "your_data_id";  // 与import中的dataId一致String group = "your_group";    // 与import中的group一致try {Properties properties = new Properties();properties.put("serverAddr", serverAddr);properties.put("namespace", namespace);properties.put("accessKey", accessKey);properties.put("secretKey", secretKey);properties.put("tenant", namespace);  // 阿里云MSE可能需要通过tenant传递namespaceConfigService configService = NacosFactory.createConfigService(properties);String content = configService.getConfig(dataId, group, 5000);System.out.println("从 Nacos 获取的配置内容:\n" + content);
// 尝试获取业务配置(如MYSQL.Host)System.out.println("mysqlHost = " + mysqlHost);  // 直接使用@Value注入} catch (NacosException e) {System.err.println("连接 Nacos 失败: " + e.getErrMsg());e.printStackTrace();}}
}

日志打印:

http://www.lryc.cn/news/2383600.html

相关文章:

  • python如何遍历postgresql所有的用户表
  • c/c++的opencv高斯模糊
  • <uniapp><vuex><状态管理>在uniapp中,如何使用vuex实现数据共享与传递?
  • Java Stream流:高效数据处理的现代解决方案
  • 数据湖和数据仓库的区别
  • 【论文阅读 | AAAI 2025 | FD2-Net:用于红外 - 可见光目标检测的频率驱动特征分解网络】
  • 前端取经路——量子UI:响应式交互新范式
  • 计算机视觉与深度学习 | matlab实现EMD-VMD-LSTM时间序列预测(完整源码和数据)
  • 济南国网数字化培训班学习笔记-第三组-1-电力通信传输网认知
  • OAT 初始化时出错?问题可能出在 PAM 配置上|OceanBase 故障排查实践
  • 1-机器学习的基本概念
  • Hass-Panel - 开源智能家居控制面板
  • Ubuntu搭建NFS服务器的方法
  • 网感驱动下开源AI大模型AI智能名片S2B2C商城小程序源码的实践路径研究
  • COMPUTEX 2025 | 广和通5G AI MiFi解决方案助力移动宽带终端迈向AI新未来
  • 防范Java应用中的恶意文件上传:确保服务器的安全性
  • STM32H7时钟树
  • git 的 .gitignore 规则文件
  • 【通用智能体】Serper API 详解:搜索引擎数据获取的核心工具
  • asp.net web form nlog的安装
  • 【图像生成大模型】CogVideoX-5b:开启文本到视频生成的新纪元
  • 剧本杀小程序:指尖上的沉浸式推理宇宙
  • 2024正式版企业级在线客服系统源码+语音定位+快捷回复+图片视频传输+安装教程
  • 深入解析 Oracle session_cached_cursors 参数及性能对比实验
  • 【RabbitMQ】整合 SpringBoot,实现工作队列、发布/订阅、路由和通配符模式
  • k8s面试题-ingress
  • Node.js Express 项目现代化打包部署全指南
  • 分布式电源的配电网无功优化
  • 【WebRTC】源码更改麦克风权限
  • upload-labs通关笔记-第15关 文件上传之getimagesize绕过(图片马)