# 配置文件

# 单体启动模式

开发SpringBoot应用的时候,通常程序需要在测试环境测试成功后才会上线到生产环境。而测试环境和生产环境的数据库地址、服务器端口等配置都不同。

在为不同环境打jar包时,需要频繁的修改application.yml配置文件,十分麻烦,因此可以采用创建多个配置文件的方法解决这一问题。

比如创建以下三个文件,配置不同环境的地址信息,存放在application.yml同一目录下:

application-dev.yml:本地开发环境
application-test.yml:测试环境
application-prod.yml:生产环境

其中application.yml存放公共配置,可通过修改active切换读取的配置文件,比如spring.profiles.active的值 dev改成 test就是将读取application-dev.yml改为application-test.yml,环境也从本地开发变成了测试环境

如果有重复的则配置一切以application.yml为主,application.yml会覆盖掉application-dev.yml或者application-pro.yml中与application.yml属性一致的配置

# application.yml文件配置示例

具体配置参数说明,请看下文中的配置项说明

mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml
  configuration:
    # 不开启驼峰的话,使用@TableField注解
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
    jdbc-type-for-null: 'null'
  global-config:
    banner: false
  typeHandlersPackage: com.mediway.hos.app.common.handler.mybatis


spring:
  application:
    name: oa-runner
  profiles:
    active: dev
  servlet:
    multipart:
      max-file-size: 10485760
      max-request-size: 20MB
  main:
    allow-circular-references: true
server:
  servlet:
    context-path: /api
sys:
  # # 该配置项于2.5.2版删除,请不要再使用
  backendPath:
  ####不能为空
  restfulPath: /openApi
#是否启用自动创建实体
extendEntity:
  enable: false

# 日志配置  为空为项目跟目录下的logs  或者指定已经存在的目录
log:
  path: /home/logs/hos/

posyspath: C:\

# application-dev.yml文件配置示例

spring:
  jackson:
    time-zone: GMT+8
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      #      url: jdbc:mysql://localhost:3306/hos-new?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
      #      username: root
      #      password: root
      url: jdbc:mysql://114.xxxx.xxxx.6:xxxxx/hos_app_8261?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
      username: admin
      password: xxxxxx
      driver-class-name: com.mysql.cj.jdbc.Driver
      #      url: jdbc:oracle:thin:@114.242.246.250:8521/XE
      #      username: HOS_APP_2_DEV
      #      password: wvB27Mdkw
      #      driver-class-name: oracle.jdbc.driver.OracleDriver
      web-stat-filter:
        enabled: true #默认为false,表示不使用WebStatFilter配置,就是属性名去短线
        url-pattern: /* #拦截该项目下的一切请求
        exclusions: /druid/*,*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico  #对这些请求放行
        session-stat-enable: true
        principal-session-name: session_name
        principal-cookie-name: cookie_name

      filter:
        wall:
          enabled: false
        stat:
          slow-sql-millis: 1000
          log-slow-sql: true


      stat-view-servlet: # StatViewServlet配置
        enabled: true #默认为false,表示不使用StatViewServlet配置,就是属性名去短线
        url-pattern: /druid/*  #配置DruidStatViewServlet的访问地址。后台监控页面的访问地址
        reset-enable: false #禁用HTML页面上的“重置”功能,会把所有监控的数据全部清空,一般不使用
        login-username: admin #监控页面登录的用户名
        login-password: 123456 #监控页面登录的密码
        allow: 223.71.143.178 #白名单中需要添加访问浏览器的外网ip
#安全攻击防护相关配置
framework:
  file:
    minio:
      enable: true
      endpoint: http://114.xxx.xxx.6:xxx
      accessKey: xxxx
      secretKey: xxxxx
  multi-tenant:
    enable: false
    #动态数据源开关,默认关闭
    dynamic-datasource: false
    ignore-table:
      - hos_tenant_package
      - hos_tenant
      - hos_datasource
      - hos_tenant_package_resource
  hoscache:
    ##使用的缓存类型,目前支持 redis ehcache,如果使用redis还需要单独设置redis的连接信息
    type: redis
    ehcachePath: /temp
    ##缓存前缀,如果多个基于HOS基础平台的产品使用同一个redis,每个产品需要单独定义,否则会缓存冲突
    prev: hos-base-
  interface-encryption:
    #是否全局进行接口签名验证,开启之后对全局的数据进行解密加密
    isGlobal: false
    #全局下的加密方式,以及单个接口的默认加密方式,支持的方式有 AES、RSA、国密(SM4)
    decryptType: SM4
    #是否对接口的入参进行解密,全局模式下使用
    isDecrypt: false
    #对body里面的数据单个解密,还是作为一个整体解密
    decryptAll:
      # RequestParam(param参数)的参数进行全参数解密
      params: false
      # RequestBody(body参数)的参数进行全参数解密
      body: false
    # 解密的参数配置,isGlobal为ture(全局解密),encrypAll为false的情况下,只对单个参数进行解密
    decryptParam:
      # 对请求RequestParam(param参数)中附加的参数进行解密
      params:
        - password
      # 对RequestBody(body参数)里面的参数进行解密,只支持键值对的JSON
      body:
        - password
    #是否对接口返回的结果进行加密,默认情况只加密data字段的数据
    isEncrypt: false
    # RSA公钥,用于加密解密
    publicKey:
    # RSA私钥,用于加密解密
    privateKey:
    # 秘钥,用于接口数据加解密
    secret: 1234567890123456
    # 全局情况下,排除的请求
    excludeUrl:
      - /ceshipost001/*
  security:
    license:
      enable: false
      production:
        name: HOSBase
        version: V2.0.5
    #防xss攻击,默认关闭
    xss:
      enable: false
    #防csrf攻击,默认关闭。此处需要注意:csrf开关开启后,除"GET", "HEAD", "TRACE", "OPTIONS"四类请求可以直接通过外,其他请求都会拦截
    #由于防csrf采用了token机制,所以要求前端页面传入csrfToken,传入方式有两种:
    #方式一:隐藏域  <input type='hidden' name='${_csrf.parameterName}' value='${_csrf.token}'>写法固定;
    #方式二:header中传入,如果token保存在session中(默认),则header-name为 X-CSRF-TOKEN,header-value为token具体值;
    #如果token保存在cookie中,则header-name为 X-XSRF-TOKEN,header-value为token具体值
    csrf:
      enable: false
    #跨域,默认关闭
    cors:
      enable: true
      #allowed:
      #跨域允许来源,可配置多个,在framework.security.cors.enable=true时有效,不配置默认允许所有来源
      #origins: https://www.baidu.com,https://www.taobao.com
      #跨域允许方法,可配置多个,在framework.security.cors.enable=true时有效,不配置默认允许所有方法
      #methods: GET,POST,PUT,DELETE

  # 操作日志输出位置:logFile,database 二者可以同时存在,默认为logFile
  # logFile表示输出到log文件,database表示输出数据库中的sys_oper_log表中
  # 该配置只对OperLog注解生效,与其他日志输出无关
  oper-log:
    out: database

####jwt 相关
jwt:
  # 令牌内容前缀,此处必须修改为自己的
  prefix: mediway_
  # 签名密钥,必须是32位的长度,为了安全,最好设置成自己的,否则会使用默认的
  signKey: mediwaysapowerfulmicroservicearchitectureupgradedandoptimizedfromacommercialproject


#第三方登陆--hos统一认证
social:
  hos:
    codeUrl: ${social.hos.serverUrl}:8329/oauth/authorize
    tokenUrl: ${social.hos.serverUrl}:8369/api/oauth/token
    userUrl: ${social.hos.serverUrl}:8369/api/oauth/resource/getUserInfo
    serverUrl: http://114.251.235.9
  enabled: true
  userControl: false
  domain: http://127.0.0.1:8080
  #  domain: http://114.251.235.9:8327
  oauth:
    HOS:
      client-id: 165588O9fa05
      client-secret: 6CDM376v2kOoam86
      redirect-uri: ${social.domain}/oauth/redirect/hos


server:
  port: 8261
  tomcat:
    relaxed-query-chars: <,>,[,]


smscaptcha:
  templateId: 1
  smsSp: rly
  validField: 1
  timeField: 2
pulling:
  config:
    orgsyn:
      interfaceType: restful
      restfulUrl: http://10.1.20.150:8367/api/openApi/sync/getOrgData
      webserviceUrl: http://10.80.99.222/imedical/web/web.SLYTLCPF.HOS.Soap.GetView.CLS
      webserviceMethod: GetView
# 禁止Actuator监控Redis连接
management:
  health:
    redis:
      enabled: false
hos-security:
  platform: platform
  front-url: http://114.251.235.9:8328                  #应用前端页面地址
  authentication-uri: http://114.251.235.9:8345             #统一认证地址
  login:                                                #登录相关配置
    captcha:                                            #图形验证码配置
      captcha-type: line
      captcha-length: 5
    password:                                           #密码相关配置
      login-password-encode: BCRYPT                     #数据库中密码加密方式
      login-password-secret: 1234567890123456           #前后端密码传输SM4加密秘钥
    token:                                              #token相关配置
      access-token-expires-in: 600                      #token过期时间,单位:秒
      refresh-token-expires-in: 6000                    #刷新token过期时间,单位:秒
      enable-refresh-token: true                        #是否开启刷新token
      sign-key: 123123                                  #生成jwt token 签名key
      access-token-key: access_token                    #保存token缓存的前缀
      refresh-token-key: refresh_token                  #保存刷新token缓存的前缀
    log-table-name: hos_sys_log_login                   #登录日志保存表名称
    white-list:                                         #认证白名单
      - /openApi/**
      - /druid/**
      - /license/*
      - /loginPageData/*
      - /property/is-enable-tenant
      - /tenant/select-tenant-by-domain
      - /tenant/select-tenant
      - /core/system/files/other/**
      - /core/system/files/image/**
      - /websocket/
      - /favicon.ico
      - /v2/api-docs
      - /swagger-resources
      - /acm/accountAndPWD/validateAccount
      - /doc
      - /**/*.css
      - /**/*.js
      - /**/*.png
      - /**/*.jpg
      - /**/*.jpeg
      - /**/*.html
      - /**/*.ico
      - /**/*.properties
      - /**/*.woff
      - /**/*.woff2
      - /**/*.ttf
  oauth2:                                               #统一认证oauth2登录配置
    enable: false                                        #是否开启统一认证登录
    state-expire-in: 600                                #oauth2登录中state的有效时间,单位:秒
    client:                                             #统一认证登录配置
      registration:
        messaging-client-oidc:
          provider: spring                              #对应下边 provider 的配置,不需要修改
          client-id: messaging-client                   #统一用户平台中创建应用的id
          client-secret: secret                         #统一用户平台中创建应用的秘钥
          authorization-grant-type: authorization_code  #认证类型,不要修改
          redirect-uri: ${hos-security.front-url}/api/security/login/oauth2/code/messaging-client-oidc  #回调地址,不要修改
          scope: all                                #统一用户平台中创建应用的作用域
          client-name: hos-app                          #该客户端名称
      provider:
        spring:
          issuer-uri: ${hos-security.authentication-uri}/api                      #发行地址
          authorization-uri: ${hos-security.authentication-uri}/oauth/authorize   #获取授权码页面


提示

如果要使用集群或负载的,缓存类型framework.hoscache.type请使用redis,详细配置参考缓存组件
如果业务中使用了消息模块的话,那么Redis也是必须配置的。
如果要配置接口跳过登录验证,请参考配置接口跳过登录验证。

# 微服务

微服务版集成了Nacos做为配置中心,因此配置信息分为两部分存储,一部分是本地配置(bootstrap),另一部分存储在配置中心nacos中,

本地配置一般主要配置服务名称、注册中心、配置中心的远程地址等信息, 远程配置中心一般配置其他的配置信息。

# 本地配置

# 应用名称

通过feign调用此服务时需要和该配置项一致

spring:
  application:
    # 应用名称,通过feign调用此服务时需要和该配置项一致
    name: oa-user-service

# 本地完整文件

bootstrap.yml

spring:
  application:
    # 应用名称,通过feign调用此服务时需要和该配置项一致
    name: oa-user-service
  profiles:
    active: ${SPRING_PROFILES_ACTIVE:dev}
  main:
    allow-bean-definition-overriding: true
hos:
  cloud:
    name: ### 通过feign调用hos-app时的服务名

bootstrap-dev.yml

spring:
  cloud:
    #naocs配置项
    nacos:
      config:
        # nacos上的配置文件格式
        file-extension: yml
        # 和nacos的dataId保持一致
        prefix: oa-user
        # 和nacos的groupId保持一致
        group: hos
        # nacos的地址,多个以逗号分割
        server-addr: ${ENV_NACOS_ADDERSS:192.16.18.196:10011}
        # nacos 的命名空间
        namespace: ${ENV_DIS_NAMESPACE:demo}
      discovery:
        group: hos
        server-addr: ${ENV_NACOS_ADDERSS:192.16.18.196:10011}
        namespace: ${ENV_DIS_NAMESPACE:demo}

server:
  port: 8003

# nacos中配置信息

下图为示例代码中在nacos的配置文件,主要分为业务微服务和网关gateway配置 nacos中配置文件列表

Nacos配置文件中具体配置信息可参考单体中的application.yml、application-dev.yml文件配置信息介绍

# 配置项说明

# mybatis以及maybatis-plus相关配置

如果有需要修改mapper对应的resource下xml文件路径,需要修改mybatis-plus.mapper-locations 具体配置,可以查询其官网

mybatis-plus:
  # mapper文件存放地址
  mapper-locations: classpath*:/mapper/*/*.xml
  configuration:
    # 不开启驼峰的话,使用@TableField注解
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  # 全局配置 
  global-config:
    # 是否开启logo
    banner: false
  # 配置当前handler可以把库中vachar类型字段查出为null的转为''字符串
  typeHandlersPackage: com.mediway.hos.app.common.handler.mybatis

# 更换环境配置文件

如果有多个可变配置信息保存在多个配置文件中,可以通过修改spring.profiles.active的值,选择对应的环境配置文件 例如:值为dev,则读取的就是application-dev.yml配置文件

# spring信息
spring:
  profiles:
    # 配置文件 dev
    active: dev

# 文件上传限制相关信息需要修改

spring:
  servlet:
    multipart:
      max-file-size: 10485760
      max-request-size: 20MB

# 端口及根目录

修改端口,请修改server.port属性。 erve.servlet.context-path属性为端口号后紧跟的上下文根目录, 这里进行修改后接口的访问路径, 如:localhost:8367/api/**,前端工程访问后端的地址也需要进行同步修改

server:
  port: 8367
  servlet:
    context-path: /api

# 跳过登录验证接口配置

当自己系统对应的前端需要调用后端接口时,因业务需要跳过登录验证时,请使用以下配置,不建议暴露给外部应用,否则可能产生安全隐患 表示当接口访问路径包含对应前缀时,可跳过登录直接进行访问。

hos-security:
  login:
      white-list:
        - /api/otp-auth/forget-code
        - /core/system/files/other/**
        - /openApi/**

所有匹配遵循从左到右完全匹配:

  • /iam/**:标识访问路径中以iam作为前缀的所有接口:
@RestController
@RequestMapping("/iam/iamLogExamine")
@Api(tags = "")
public class IamLogExamineController extends BaseController<IamLogExamine> {}
  • /test/iam/**:标识访问路径中以test/iam作为前缀的所有接口:
@RestController
@RequestMapping("/test/iam/iamLogExamine")
@Api(tags = "")
public class IamLogExamineController extends BaseController<IamLogExamine> {}

# 数据源连接池配置

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      url: jdbc:mysql://localhost:3306/hos_base_app?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
      username: root
      password: root
      driver-class-name: com.mysql.cj.jdbc.Driver
      web-stat-filter:
        enabled: true #默认为false,表示不使用WebStatFilter配置,就是属性名去短线
        url-pattern: /* #拦截该项目下的一切请求
        exclusions: /druid/*,*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico  #对这些请求放行
        session-stat-enable: true
        principal-session-name: session_name
        principal-cookie-name: cookie_name

      stat-view-servlet: # StatViewServlet配置
        enabled: true #默认为false,表示不使用StatViewServlet配置,就是属性名去短线
        url-pattern: /druid/*  #配置DruidStatViewServlet的访问地址。后台监控页面的访问地址
        reset-enable: false #禁用HTML页面上的“重置”功能,会把所有监控的数据全部清空,一般不使用
        login-username: admin #监控页面登录的用户名
        login-password: 123456 #监控页面登录的密码
        allow: 223.71.143.178 #白名单中需要添加访问浏览器的外网ip

通常我们只修改数据库url,username,password,driver-class-name就可以。其他相关参数请参考 跳转到:数据源连接池

# hos缓存配置

framework:
  hoscache:
    ##使用的缓存类型,目前支持 redis ehcache,如果使用redis还需要单独设置redis的连接信息
    type: redis
    ehcachePath: /temp
    ##缓存前缀,如果多个基于HOS基础平台的产品使用同一个redis,每个产品需要单独定义,否则会缓存冲突
    prev: hos-base-

 

具体配置详解,请参考:HOSCache组件

# 接口签名配置

framework:
  interface-encryption:
    #是否全局进行接口签名验证,开启之后对全局的数据进行解密加密
    isGlobal: false
    #全局下的加密方式,以及单个接口的默认加密方式,支持的方式有 AES、RSA、国密(SM4)
    decryptType: SM4
    #是否对接口的入参进行解密,全局模式下使用
    isDecrypt: false
    #对body里面的数据单个解密,还是作为一个整体解密
    decryptAll:
      # RequestParam(param参数)的参数进行全参数解密
      params: false
      # RequestBody(body参数)的参数进行全参数解密
      body: false
    # 解密的参数配置,isGlobal为ture(全局解密),encrypAll为false的情况下,只对单个参数进行解密
    decryptParam:
      # 对请求RequestParam(param参数)中附加的参数进行解密
      params:
        - password
      # 对RequestBody(body参数)里面的参数进行解密,只支持键值对的JSON
      body:
        - password
    #是否对接口返回的结果进行加密,默认情况只加密data字段的数据
    isEncrypt: false
    # RSA公钥,用于加密解密
    publicKey:
    # RSA私钥,用于加密解密
    privateKey:
    # 秘钥,用于接口数据加解密
    secret: 1234567890123456
    # 全局情况下,排除的请求
    excludeUrl:
      - /ceshipost001/*

具体配置详解,请参考:接口加解密组件

# hos安全配置

framework:
  #安全攻击防护相关配置
  security:
    #防xss攻击,默认关闭
    xss:
      enable: false
    #防csrf攻击,默认关闭。此处需要注意:csrf开关开启后,除"GET", "HEAD", "TRACE", "OPTIONS"四类请求可以直接通过外,其他请求都会拦截
    #由于防csrf采用了token机制,所以要求前端页面传入csrfToken,传入方式有两种:
    #方式一:隐藏域  <input type='hidden' name='${_csrf.parameterName}' value='${_csrf.token}'>写法固定;
    #方式二:header中传入,如果token保存在session中(默认),则header-name为 X-CSRF-TOKEN,header-value为token具体值;
    #如果token保存在cookie中,则header-name为 X-XSRF-TOKEN,header-value为token具体值
    csrf:
      enable: false
    #跨域,默认关闭
    cors:
      enable: true
        #allowed:
        #跨域允许来源,可配置多个,在framework.security.cors.enable=true时有效,不配置默认允许所有来源
      #origins: https://www.baidu.com,https://www.taobao.com
      #跨域允许方法,可配置多个,在framework.security.cors.enable=true时有效,不配置默认允许所有方法
      #methods: GET,POST,PUT,DELETE

具体配置详解,请参考:安全配置

# license配置

framework:
  security:
    license:
      # 是否开启生产许可认证,缺省值为true。该配置项在客户的环境中必须删除,不能出现在配置文件中
      enable: true
      production:
        # BOS中维护的产品名,必填项,根据开发的产品维护
        name: HOS-PORTAL
        # BOS中维护的产品版本,必填项,根据开发的产品维护
        version: R1.0.0

# 国际化配置

hos:
  i18n:
    baiduAppId:
    baiduSecurityKey:
    isOpen: true
    isShowSource: true

# hos操作日志配置

framework:
  # 操作日志输出位置:logFile,database 二者可以同时存在,默认为logFile
  # logFile表示输出到log文件,database表示输出数据库中的sys_oper_log表中
  # 该配置只对OperLog注解生效,与其他日志输出无关
  oper-log:
    out: database

具体配置详解,请参考:日志

# hos登录配置


hos-security:
  platform: platform
  front-url: http://114.251.235.9:8328                  #应用前端页面地址
  authentication-uri: http://114.251.235.9:8345         #统一认证地址,当hos-security.oauth2.enable=true时需要配置
  login:                                                #登录相关配置
    password:                                           #密码相关配置
      login-password-encode: BCRYPT                     #数据库中密码加密方式
      login-password-secret: 1234567890123456           #前后端密码传输SM4加密秘钥
    token:                                              #token相关配置
      access-token-expires-in: 6000                     #token过期时间,单位:秒
      refresh-token-expires-in: 12000                   #刷新token过期时间,单位:秒
      enable-refresh-token: true                        #是否开启刷新token
      access-token-key: access_token                    #保存token缓存的前缀
      refresh-token-key: refresh_token                  #保存刷新token缓存的前缀
    log-table-name: hos_sys_log_login                   #登录日志保存表名称
    white-list:                                         #认证白名单
      - /openApi/**
      - /druid/**
      - /license/*
      - /loginPageData/*
      - /property/is-enable-tenant
      - /tenant/select-tenant-by-domain
      - /tenant/select-tenant
      - /core/system/files/other/**
      - /core/system/files/image/**
      - /websocket/
      - /favicon.ico
      - /v2/api-docs
      - /swagger-resources
      - /acm/accountAndPWD/validateAccount
      - /doc
      - /**/*.css
      - /**/*.js
      - /**/*.png
      - /**/*.jpg
      - /**/*.jpeg
      - /**/*.html
      - /**/*.ico
      - /**/*.properties
      - /**/*.woff
      - /**/*.woff2
      - /**/*.ttf
  oauth2:                                               #统一认证oauth2登录配置
    enable: false                                       #是否开启统一认证登录
    state-expire-in: 600                                #oauth2登录中state的有效时间,单位:秒
    client:                                             #统一认证登录配置,当hos-security.oauth2.enable=true时需要配置
      registration:
        messaging-client-oidc:
          provider: spring                              #对应下边 provider 的配置,不需要修改
          client-id: messaging-client                   #统一用户平台中创建应用的id
          client-secret: secret                         #统一用户平台中创建应用的秘钥
          authorization-grant-type: authorization_code  #认证类型,不要修改
          redirect-uri: ${hos-security.front-url}/api/security/login/oauth2/code/messaging-client-oidc  #回调地址,不要修改
          scope: openid                                 #统一用户平台中创建应用的作用域
          client-name: hos-app                          #该客户端名称
      provider:
        spring:
          issuer-uri: ${hos-security.authentication-uri}/api                      #发行地址
          authorization-uri: ${hos-security.authentication-uri}/oauth/authorize   #获取授权码页面

# 注册中心nacos

使用spring cloud Alibaba中nacos做注册中心时,需要配置nacos的远程地址、命名空间、组名, 具体介绍见 nacos相关介绍

spring:
  cloud:
    #naocs配置项
    nacos:
      discovery:
        group: hos
        # NacosServer 启动监听的ip地址和端口
        server-addr: ${ENV_NACOS_ADDERSS:192.16.18.196:10011}
        namespace: ${ENV_DIS_NAMESPACE:demo}

# 配置中心nacos

使用spring cloud Alibaba中nacos做配置中心时,需要配置nacos的远程地址、命名空间、组名,以及nacos配置中心上对应的文件名及文件格式, 具体介绍见nacos相关介绍

spring:
  cloud:
    #naocs配置项
    nacos:
      config:
        # nacos上的配置文件格式
        file-extension: yml
        # 和nacos的dataId保持一致
        prefix: oa-user
        # 和nacos的groupId保持一致
        group: hos
        # nacos的地址,多个以逗号分割
        server-addr: ${ENV_NACOS_ADDERSS:192.16.18.196:10011}
        # nacos 的命名空间
        namespace: ${ENV_DIS_NAMESPACE:demo}