Skip to content

配置说明

本文档详细说明 HEI Cloud 的配置文件结构和各项配置参数。

配置文件结构

HEI Cloud 采用分离式的配置文件管理:

文件说明修改频率
application.yaml基础配置低(框架级别配置)
application-{env}.yaml环境配置高(环境相关配置)

基础配置(application.yaml)

服务器配置

yaml
server:
  port: 8081                          # 服务端口号

Spring 核心配置

yaml
spring:
  profiles:
    active: local                     # 激活的配置文件环境(local/dev/test/prod)
  application:
    name: hei-cloud                   # 应用名称,用于服务注册、日志识别
  main:
    allow-circular-references: true   # 允许循环依赖
    allow-bean-definition-overriding: true  # 允许 Bean 定义覆盖
  servlet:
    multipart:
      max-request-size: 100MB         # 单次请求最大上传大小
      max-file-size: 100MB            # 单个文件最大上传大小
  jackson:
    time-zone: GMT+8                  # 时区设置
    date-format: yyyy-MM-dd HH:mm:ss  # 日期格式
    locale: zh_CN                     # 语言环境
    property-naming-strategy: SNAKE_CASE  # 命名策略,Java camelCase 转 snake_case
    mapper:
      accept-case-insensitive-properties: true  # 接受不区分大小写的属性名
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource  # 数据源类型
    druid:
      web-stat-filter:
        enabled: true                 # 启用 Web 统计过滤器
        url-pattern: /*               # 拦截的 URL 路径
        exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"  # 排除的资源

MyBatis-Plus 配置

yaml
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  # SQL 日志实现
    jdbc-type-for-null: null          # NULL 处理方式
  global-config:
    enable-sql-runner: true           # 启用 SQL 运行器
    db-config:
      id-type: ASSIGN_ID              # 主键策略(雪花算法)
      logic-delete-field: is_deleted  # 逻辑删除字段
      logic-delete-value: YES         # 逻辑删除值
      logic-not-delete-value: NO      # 逻辑未删除值
  mapper-locations: classpath*:io.github.jiangbyte/**/xml/*.xml  # Mapper XML 位置

Sa-Token 认证配置

yaml
sa-token:
  token-name: token                   # Token 传递的参数名/Header名
  timeout: 2592000                    # Token 有效期(秒),2592000 = 30 天
  active-timeout: -1                  # Token 活跃超时时间,-1 表示不限制
  is-concurrent: true                 # 是否允许多端同时登录
  is-share: false                     # 是否共享 Token(false = 每个设备独立)
  token-style: jwt                    # Token 风格(JWT)
  jwt-secret-key: 生产环境请更换       # JWT 密钥(生产环境务必更换)

Easy-Trans 数据翻译配置

yaml
easy-trans:
  mp-new: true                        # 是否使用 MyBatis-Plus 新特性
  dict-use-redis: true                # 字典是否使用 Redis 缓存
  is-enable-redis: true               # 是否启用 Redis
  is-enable-global: true              # 是否启用全局翻译
  is-enable-tile: true                # 是否启用 Tile 模式(复杂对象翻译)
  is-enable-cloud: false              # 是否启用云模式(分布式场景)

环境配置(application-{env}.yaml)

数据源配置

yaml
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver  # MySQL 驱动
    url: jdbc:mysql://localhost:3306/hei_data?...  # 数据库连接 URL
    username: root                    # 数据库用户名
    password: 123456                  # 数据库密码
    druid:
      initial-size: 1                 # 初始化连接数
      min-idle: 1                     # 最小空闲连接数
      max-active: 20                  # 最大活跃连接数
      max-wait: 60000                 # 获取连接最大等待时间(毫秒)
      test-on-borrow: false           # 借出连接时是否测试有效性
      test-on-return: false           # 归还连接时是否测试有效性
      test-while-idle: true           # 连接空闲时是否测试有效性
      time-between-eviction-runs-millis: 60000  # 检测空闲连接的间隔
      validation-query: SELECT 1      # 验证连接有效性的 SQL
      stat-view-servlet:
        enabled: true                 # 启用 Druid 监控页面
        url-pattern: /druid/*         # 监控页面访问路径
        reset-enable: true            # 允许重置监控数据
        login-username: admin         # 监控页面用户名
        login-password: 123456        # 监控页面密码

Redis 配置

yaml
spring:
  data:
    redis:
      database: 1                     # Redis 数据库索引(0-15)
      host: localhost                 # Redis 服务器地址
      port: 6379                      # Redis 端口
      password: 123456                # Redis 密码
      timeout: 10s                    # 连接超时时间
      lettuce:
        pool:
          max-active: 200             # 最大活跃连接数
          max-wait: -1ms              # 最大阻塞等待时间(-1 不限制)
          max-idle: 10                # 最大空闲连接数
          min-idle: 0                 # 最小空闲连接数

Sa-Token Redis 独立配置

Sa-Token 使用独立的 Redis 数据库存储 Token,避免 key 冲突:

yaml
sa-token:
  alone-redis:
    database: 2                       # 独立的 Redis 索引
    host: ${spring.data.redis.host}   # 引用主 Redis 配置
    port: ${spring.data.redis.port}   # 引用主 Redis 配置
    password: ${spring.data.redis.password}
    timeout: ${spring.data.redis.timeout}
    lettuce:
      pool:
        max-active: ${spring.data.redis.lettuce.pool.max-active}
        max-wait: ${spring.data.redis.lettuce.pool.max-wait}
        max-idle: ${spring.data.redis.lettuce.pool.max-idle}
        min-idle: ${spring.data.redis.lettuce.pool.min-idle}

认证模块配置(SM2 国密)

yaml
auth:
  sm2:
    private-key: 请妥善保管            # SM2 私钥(用于解密和签名)
    public-key: 请妥善保管             # SM2 公钥(用于加密和验签)

SM2 是中国国家密码管理局发布的椭圆曲线公钥密码算法,用于密码传输中的敏感数据加密(如登录密码)。

配置优先级

HEI Cloud 的配置加载优先级如下(高 → 低):

  1. 命令行参数
  2. 环境变量
  3. application-{env}.yaml
  4. application.yaml
  5. 默认配置

Released under the MIT License.