java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > nacos配置的动态变更

nacos实现配置的动态变更方式

作者:大佬腿好粗

这段描述主要介绍了如何通过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配置

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: true

bootstrap-dev.yml配置

指定nacos服务的地址

spring:
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848

nacos管理台配置文件

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文