配置说明
本文档详细说明 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 的配置加载优先级如下(高 → 低):
- 命令行参数
- 环境变量
application-{env}.yamlapplication.yaml- 默认配置