nacos实现配置的动态变更方式
更新时间:2026年06月12日 08:53:02 作者:大佬腿好粗
这段描述主要介绍了如何通过Spring Cloud Alibaba Nacos Config引入依赖实现配置动态变更,重点在于配置Nacos命名空间及YMLML文件动态引用,最后通过启动项目自动加载Nacos中的配置文件
pom引入依赖
spring-cloud-starter-alibaba-nacos-config用于配置的动态变更
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.1.2.RELEASE</spring-boot.version>
<spring-cloud-alibaba.version>2.1.2.RELEASE</spring-cloud-alibaba.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<profiles>
<profile>
<id>local</id>
<properties>
<environment>local</environment>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>dev</id>
<properties>
<environment>dev</environment>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<environment>test</environment>
</properties>
</profile>
<profile>
<id>uat</id>
<properties>
<environment>uat</environment>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<environment>prod</environment>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<includes>
<include>bootstrap-${environment}.yml</include>
<include>bootstrap.yml</include>
<include>**/*</include>
</includes>
</resource>
</resources>
</build>nacos管理台新建命名空间

bootstrap.yml配置
- 动态引用ddw命名空间下的DEFAULT_GROUP组的application.yml配置文件
- 动态引用ddw命名空间下的DEFAULT_GROUP组的application.yml配置文件@artifactId@组下的application-dev.yml配置文件
spring:
application:
name: @artifactId@
profiles:
active: @environment@
cloud:
nacos:
discovery:
namespace: ddw
config:
namespace: ddw
group: @artifactId@
file-extension: yml
shared-configs:
- data-id: application.${spring.cloud.nacos.config.file-extension}
group: DEFAULT_GROUP
refresh: true
- data-id: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
group: @artifactId@
refresh: truebootstrap-dev.yml配置
指定nacos服务的地址
spring:
cloud:
nacos:
server-addr: 127.0.0.1:8848nacos管理台配置文件

启动项目,就会自动加载nacos中的配置文件

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java多线程高并发中解决ArrayList与HashSet和HashMap不安全的方案
ArrayList实现了可变大小的数组。它允许所有元素,包括null。ArrayList没有同步,HashMap和Hashtable类似,不同之处在于HashMap是非同步的,并且允许null,关于HashSet有一件事应该牢记,即就条目数和容量之和来讲,迭代是线性的,接下来让我们详细来了解吧2021-11-11
Spring 定时任务@Scheduled 注解中的 Cron 表达式详解
Cron 表达式是一种用于定义定时任务触发时间的字符串表示形式,它由七个字段组成,分别表示秒、分钟、小时、日期、月份、星期和年份,这篇文章主要介绍了Spring 定时任务@Scheduled 注解中的 Cron 表达式,需要的朋友可以参考下2023-07-07
springboot之@KafkaListener注解自动装配流程分享
@KafkaListener是Spring Kafka框架提供的注解,Spring Boot对其提供了原生支持,通过引入依赖并在配置文件中加入Kafka相关配置,可以触发Kafka组件的自动状态,扫描@KafkaListener注解是Spring Boot自动装配的一部分2026-01-01
继承JpaRepository后,找不到findOne()方法的解决
这篇文章主要介绍了继承JpaRepository后,找不到findOne()方法的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-08-08
Java BasePooledObjectFactory 对象池化技术的使用
这篇文章主要介绍了Java BasePooledObjectFactory 对象池化技术,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-04-04


最新评论