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

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.xdnf.cn/news/7933.html

相关文章:

  • NSSCTF [BJDCTF 2020]YDSneedGirlfriend
  • 深度图转换为点云文件脚本
  • 2025-05-21 Python深度学习5——数据读取
  • 深入解析应用程序分层及 BaseDao 的封装策略
  • Electron 后台常驻服务实现(托盘 + 开机自启)
  • 第18天-NumPy + Pandas + Matplotlib多维度直方图
  • HashMap 两数之和java
  • 【最细】自动化测试-解决日志问题,一文贯通...
  • 深入浅出IIC协议 - 从总线原理到FPGA实战开发 --第四篇:I2C工业级优化实践
  • 2024CCPC辽宁省赛 个人补题 ABCEGJL
  • Plant Cell|澳大利亚国立大学研究团队揭示狗尾草应对长期高温的 “生存秘籍”-三重协同机制逆天改命!
  • 46页 @《人工智能生命体 新启点》中國龍 原创连载
  • fatload使用方式
  • 解锁 YOLOv8 新潜能:EfficientViT 主干网络的优化实践与实验数据解读
  • 【spring】spring学习系列之十一:spring的事件监听
  • uni.getLocation()和uni.openSetting()
  • SOC-ESP32S3部分:5-IDF的日志管理
  • LVDS系列13:Xilinx Ultrascale系可编程输入延迟(三)
  • STM32之串口通信WIFI上云
  • Centos8安装 python3并保留系统的python2
  • C语言求1到n的和(附带源码和解析)
  • 华为云Flexus+DeepSeek征文|零基础搭建Dify-LLM应用开发平台 - 从部署到应用的完整指南
  • 关于光谱相机的灵敏度
  • C++学习之类和对象_2
  • 【web全栈】若依框架B站学习视频
  • 面向高温工业场景的EtherCAT/CANopen协议转换系统设计与应用
  • 互联网大厂Java求职面试:Spring Cloud微服务架构与AI集成挑战
  • Redis从入门到实战 - 高级篇(下)
  • Linux锁和互斥锁
  • 机器学习之随机森林(五)