IT必备技能Java开发应用

springboot整合nacos,服务发现配置中心(二)

2022-01-21  本文已影响0人  指下光年

前提:nacos已部署成功,持久化成功
部署nacos链接:https://www.jianshu.com/p/0ee9c76bd46b

  1. 创建springboot项目,添加nacos依赖(与springboot的版本一定要注意)
<dependencyManagement>
        <dependencies>
            <!--阿里巴巴下载仓库-->
            <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>
<dependencies>
<!--nacos-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>${spring-cloud-alibaba-version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>${spring-cloud-alibaba-version}</version>
        </dependency>
</dependencies>

  1. 配置命名空间(可选)
  1. 导入配置
    image.png
    body最上面一行 public|dev|uat|prod就是配置的命名空间,可点击筛选
    Data Id 规则:项目名-环境.文件后缀${spring.application.name}-${spring.profiles.active}.${file-extension}
    Group规则:项目名-环境
    ${spring.application.name}-${spring.profiles.active}
  2. bootstrap.yml 配置文件
    resource文件夹下保留一个bootstrap.yml 文件即可
spring:
  profiles:
    active: dev
  application:
    name: platform
  cloud:
    nacos:
      discovery:
        server-addr: x.x.x.x:8848
        namespace: 3982ea3b-4cc7-459d-86c5-40bc3e88b9e4
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}
        group: ${spring.application.name}-${spring.profiles.active}
        file-extension: yaml
        namespace: ${spring.cloud.nacos.discovery.namespace}

server-addr:nacos地址
namespace:命名空间id (踩坑:我直接配置命名空间,死活就是取不到配置文件,改成id就可以)
group:${spring.application.name}-${spring.profiles.active}
file-extension:看到有文档说yml yaml都可以,跟nacos命名空间后缀一样即可;但是我用yml不行,最后用的yaml,不知道为什么

  1. 一个环境多个配置文件
spring:
  profiles:
    active: dev
  application:
    name: platform
  cloud:
    nacos:
      discovery:
        server-addr: x.x.x.x:8848
        namespace: 3982ea3b-4cc7-459d-86c5-40bc3e88b9e4
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}
        namespace: ${spring.cloud.nacos.discovery.namespace}
        # 用于共享的配置文件
        shared-configs:
          - data-id: common-dev.yaml
            group: platform-dev
        # 常规配置文件
        # 优先级大于 shared-configs,在 shared-configs 之后加载
        extension-configs:
          - data-id: platform-dev.yaml
            group: platform-dev
            refresh: true

参数解析:

遇到的问题:

上一篇下一篇

猜你喜欢

热点阅读