SpringBoot环境标识设置及nacos匹配配置

本地环境标识设置

本地父类maven配置
SpringBoot环境标识设置及nacos匹配配置_第1张图片
可以看到相关的分类,设置环境标识主要需要用到profiles;

<profiles>
        <profile>
            <id>devid>
            <properties>
                
                <profiles.active>devprofiles.active>
                <nacos.server>xx.xx.xx.xx:8848/nacos.server>
                <nacos.discovery.group>DEFAULT_GROUPnacos.discovery.group>
                <nacos.config.group>DEFAULT_GROUPnacos.config.group>
            properties>
            <activation>
                
                <activeByDefault>trueactiveByDefault>
            activation>
        profile>
    profiles>

配置说明: 可以设置多套环境

  1. active:设置活跃环境名称,dev/pro/test等
  2. nacos:全局配置nacos的远程地址,服务发现和配置的默认组
  3. activation.activeByDefault:设置当前默认环境
    刷新完成就可以看到maven的显示:
    SpringBoot环境标识设置及nacos匹配配置_第2张图片

标识使用

服务下的yaml文件设置:

spring:
  #在nacos中对应的dataID名
  application:
    #应用名称
    name: lottery-strategy
  profiles:
    # 环境配置
    active: @profiles.active@
--- # nacos 配置
spring:
  cloud:
    config:
      override-none: true
      allow-override: true
      override-system-properties: false
    nacos:
      # 注册地址
      server-addr: @nacos.server@
      discovery:
        # 注册组
        group: @nacos.discovery.group@
        namespace: ${spring.profiles.active}
      config:
        # 配置组
        group: @nacos.config.group@
        namespace: ${spring.profiles.active}
        file-extension: yaml

为了使的上面的参数能够正常获取使用,maven构建的时候需要设置文件的过滤(占位匹配)操作,这样在yaml中才能生效替换;

<build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.pluginsgroupId>
                    <artifactId>maven-compiler-pluginartifactId>
                    <version>${maven-compiler-plugin.version}version>
                    <configuration>
                        <annotationProcessorPaths>
                            <path>
                                <groupId>org.springframework.bootgroupId>
                                <artifactId>spring-boot-configuration-processorartifactId>
                                <version>${spring.boot.version}version>
                            path>
                            <path>
                                <groupId>org.projectlombokgroupId>
                                <artifactId>lombokartifactId>
                                <version>${lombok.version}version>
                            path>
                        annotationProcessorPaths>
                    configuration>
                plugin>
            plugins>
        pluginManagement>
        <resources>
            <resource>
                <directory>src/main/resourcesdirectory>
                
                <includes>
                    <include>application*include>
                    <include>bootstrap*include>
                    <include>logback*include>
                includes>
                
                <filtering>truefiltering>
            resource>
        resources>
    build>

nacos的文件配置

SpringBoot环境标识设置及nacos匹配配置_第3张图片

设置DataId,Data ID它的定义规则是:${prefix}-${spring.profile.active}.${file-extension}

1、prefix 默认为 spring.application.name 的值,也可以通过配置项spring.cloud.nacos.config.prefix 来配置。

2、spring.profile.active 即为当前环境对应的 profile,可以通过配置项spring.profile.active来配置。

3、file-exetension 为配置内容的类型(yaml)

你可能感兴趣的:(微服务,Java,spring,boot,后端,java,微服务,springcloud)