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

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();}}
}

日志打印:

相关文章:

  • javaweb-html
  • springboot使用xdoc-report包导出word
  • 【写在创作纪念日】基于SpringBoot和PostGIS的各省东西南北四至极点区县可视化
  • 深度学习Y8周:yolov8.yaml文件解读
  • Python60日基础学习打卡D32
  • 强化学习鱼书(7)——神经网络和Q学习
  • TCP全连接和tcpdump抓包实现
  • 量化研究--ATR高频量化网格策略实盘研究
  • cocos creator使用jenkins打包微信小游戏,自动上传资源到cdn,windows版运行jenkins
  • JavaWebsocket-demo
  • Spark Core 源码关键环节的深度解析
  • mapbox进阶,手写放大镜功能
  • Windows安装MongoDb.并使用.NET 9连接
  • 前后端的双精度浮点数精度不一致问题解决方案,自定义Spring的消息转换器处理JSON转换
  • [杂学笔记]浏览器多进程与多线程架构、wstring类型、哈希表、红黑树与哈希表的对比、C++标准库Random类
  • 每日算法 -【Swift 算法】寻找字符串中最长回文子串(三种经典解法全解析)
  • 工业物联网网关在变电站远程监控中的安全传输解决方案
  • vscode离线安装组件工具vsix
  • Java安全-Servlet内存马
  • 计算机网络--第一章(下)
  • 网站建设需要了解的/千锋教育培训机构可靠吗
  • 网站滑动效果怎么做/企业网站制作模板
  • 广东高端网站建设/重庆网站快速排名提升
  • 石首网站建设/百度收录查询方法
  • 天津做流产五洲网站/国内能用的搜索引擎
  • 个人网站域名快速备案流程/办理培训机构需要具备的条件