Spring Cloud工程中使用Nacos配置中心的2种方式

先说结论

使用Nacos作为配置中心时,因工程配置文件名称的不同,配置Nacos参数的方式也有所不同。
如下示例使用的框架及服务版本信息为:

  • Spring Boot:2.6.13
  • Spring Cloud:2021.0.5
  • Spring Cloud Alibaba:2021.0.5.0
  • Nacos:2.2.3

项目实践

使用application.yaml

application-yaml
当在项目中使用application*.yaml作为工程配置文件时,做如下配置。

<!-- 使用nacos作为配置中心 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

通过spring.config.import同时指定本地和nacos配置。

spring:
  cloud:
    nacos:
      config: # 配置中心
        namespace: public
        server-addr: 192.168.10.10:8848
        username: xxx
        password: xxx
        group: DEFAULT_GROUP
        enabled: true
        file-extension: yaml    
  config: # 使用nacos:前缀从配置中心加载配置
    import: application-dev.yml,nacos:application-redis.yaml

当需要从Nacos配置中心加载多个配置文件时,每一个配置文件都需要使用nacos:前缀指定,如下示例:

spring:
  config: # 使用nacos:前缀加载多份配置
    import: application-dev.yml,nacos:application-redis.yaml,nacos:application-mysql.yaml

使用bootstrap.yaml

bootstrap-yaml
当在项目中使用bootstrap*.yaml作为工程配置文件时,做如下配置。

<!-- 使用nacos作为配置中心 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

通过spring.cloud.nacos.config.extension-configs指定多份nacos配置。

spring:
  cloud:
    nacos:
      config: # 配置中心
        namespace: public
        server-addr: 192.168.10.10:8848
        username: nacos
        password: xxxxxx
        group: DEFAULT_GROUP
        enabled: true
        file-extension: yaml
        extension-configs: # 通过data-id指定多份配置
          - data-id: application-redis.yaml
            group: DEFAULT_GROUP
            refresh: true
          - data-id: ${spring.application.name}.yaml # 注意:占位符要替换为实际的Nacos配置中心dataId(如:xxx-yyy-zzz),否则无法启动应用
            group: DEFAULT_GROUP
            refresh: true
        refresh-enabled: true
        import-check:
          enabled: false

至此。

posted @ 2025-11-27 20:12  nuccch  阅读(0)  评论(0)    收藏  举报