首页 > 其他分享 > Springboot2.x 使用 nacos 实现配置管理

Springboot2.x 使用 nacos 实现配置管理

时间:2022-09-03 21:24:34浏览次数:88  
标签:dataId 配置管理 nacos Springboot2 xiaqiuchu true public

参考

环境

环境 版本 操作
windows 10
JDK 11
Springboot 2.3.7.RELEASE
nacos-config-spring-boot-starter 0.2.1
nacos 0.2.1 下载

介绍

nacos 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

本文主要使用的是单机版本下的nacos的配置管理,通过命名空间groupIddataId标识区分实现多配置文件/多租户/多环境使用同一个nacos管理后台。比如日常开发分为 devtestprop 三种步骤,通过设置对应命名空间就可以在单nacos后台管理不同环境下的配置。

nacos 的下载与启动

  1. 前往git主页下载 nacos https://github.com/alibaba/nacos
    image

  2. 下载之后解压,cmd 进入目录 nacos-server-2.1.1\nacos\bin 执行命令启动。

注意事项:

  1. nacos 默认集群模式启动,所以会启动失败,通过指定单机模式来启动。
  2. JAVA_HOME 系统变量如果没设置的话也会报错,需要设置好系统变量。
startup.cmd -m standalone
  1. 命令行显示下图输出即表示启动成功
    image

  2. 访问本地 http://localhost:8848/nacos/#/login 显示登陆界面,默认账号 nacos 密码 nacos
    image

nacos 配置 与 Spring boot 的配置

  1. 在 nacos 中添加命名空间 xiaqiuchu
    image

image

image

  1. 在 nacos 配置管理->配置列表->xiaqiuchu 命名空间添加 dataId 为 xiaqiuchu 的配置,配置完毕后点击发布即可。
    image

image

  1. pom.xml 中添加 nacos 依赖项,版本要与下载的 nacos 版本一致
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-starter</artifactId>
            <version>0.2.1</version>
        </dependency>
  1. 启动类追加注解 @NacosPropertySource 或 @NacosPropertySources 注解实现绑定
// groupId 如果是 DEFAULT_GROUP 可以不填,因为默认值就是这个
// 指定单个 dataId
// @NacosPropertySource(dataId = "xiaqiuchu", groupId = "DEFAULT_GROUP", autoRefreshed = true)
// 指定多个 dataId
@NacosPropertySources({
        @NacosPropertySource(dataId = "xiaqiuchu", groupId = "DEFAULT_GROUP", autoRefreshed = true),
        @NacosPropertySource(dataId = "example", groupId = "DEFAULT_GROUP", autoRefreshed = true)})
@SpringBootApplication
public class NacosDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacosDemoApplication.class, args);
    }

}
  1. 添加测试控制器,实现 value 获取
package com.xiaqiuchu.nacosdemo.controller;

import com.alibaba.nacos.api.config.annotation.NacosValue;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author xiaqiuchu
 * @date 2022/9/3
 */
@RestController
public class IndexController {
    @NacosValue(value = "${useLocalCache:false}", autoRefreshed = true)
    private boolean useLocalCache;

    @GetMapping
    public boolean index(){
        return useLocalCache;
    }
}

  1. 在配置文件 application.properties 中指定 命名空间ID 与 nacos 的IP与端口。(命名空间ID不是命名空间名称,不要弄混)
# 单机模式下 nacos IP与端口
nacos.config.server-addr=127.0.0.1:8848
# 指定命名空间,默认public
nacos.config.namespace=dfe52df1-eabc-4601-b985-4b8b72d14e13

测试

  1. 访问 http://localhost:8080/ 访问响应结果为 true ,说明配置生效
    image

  2. nacos 管理界面将配置修改为 useLocalCache=false 并再次访问,配置自动刷新成功
    image

image

image

image

标签:dataId,配置管理,nacos,Springboot2,xiaqiuchu,true,public
From: https://www.cnblogs.com/xiaqiuchu/p/16653646.html

相关文章

  • nacos 报错 Unknown column 'encrypted_data_key' in 'field list'
    nacos报错Unknowncolumn'encrypted_data_key'in'fieldlist'看提示是数据表缺少encrypted_data_key字段,那就手动为据表添加该字段为保证用户敏感配置数据的安全,Nac......
  • SpringCloud Alibaba 打包后在启动从Nacos读取配置文件失败
     SpringCloudAlibaba引用Nacos配置中心,读取数据源配置,在调试运行都正常,但是打包后在启动运行则会报错,提示读取配置失败巴拉巴拉。执行运行命令java-jar-Dserver.por......
  • 8.引入Nacos组件----配置功能
    1.引入Nacos作为配置中心的相关依赖在webshop-common项目的pom.xml文件下,导入Nacos作为配置中心的相关依赖<!--nacos配置中心--><dependency><groupId>com.ali......
  • 6.引入Nacos组件
    1.Docker安装Nacos拉取镜像、创建目录及配置文件dockerpullnacos/nacos-server:latest#拉取镜像mkdir-p/data/nacos/logs/data/nacos/init.d#创......
  • 在三台服务器上搭建nacos集群
    Nacos集群参考-->nacos主机服务192.168.86.58nacos01192.168.86.19nacos02192.168.86.43nacos03在主机为192.168.86.58上安装mysql(我安装的是my......
  • 微服务配置中心Nacos
    1.什么是配置中心?例如传统的framwork中web.congfig、winform中的app.config、NetCore下的appsettings.json这些都是应用程序的配置文件,配置的作用其实简单来说,就是用来......
  • 一文快速上手 Nacos 注册中心+配置中心!
    SpringCloudAlibaba是阿里巴巴提供的一站式微服务开发解决方案,目前已被SpringCloud官方收录。而Nacos作为SpringCloudAlibaba的核心组件之一,提供了两个非常重......
  • SpringCloud 读取Nacos中数据配置
    1.在Nacos中配置数据源在“配置列表”中点击“加号”创建配置文件  我选择的是YAML格式#数据源配置spring:datasource:driver-class-name:com.mys......
  • Sentinel控制台1.8.3修改源码,修改配置后推送到Nacos
    目录1.接着上一篇2.思路3.下载Sentinel源码4.看Gateway里面读取的配置信息5.修改Sentinel控制台源码6.熔断规则测试7.限流规则测试8.打包使用1.接着上一篇简单......
  • SQL Server 错误:找不到SQL Server Configuration Manager配置管理工具
    问题描述:SQLServer配置管理器可用来管理与SQLServer相关联的服务、配置SQLServer使用的网络协议以及从SQLServer客户端计算机管理网络连接配置。但是升级到win11......