292 lines
10 KiB
YAML
292 lines
10 KiB
YAML
--- ### 项目配置
|
||
continew-admin:
|
||
# 名称
|
||
name: ContiNew Admin
|
||
# 应用名称
|
||
appName: continew-admin
|
||
# 版本
|
||
version: 1.1.0-SNAPSHOT
|
||
# 描述
|
||
description: ContiNew Admin 中后台管理框架/脚手架,Continue New Admin,持续以最新流行技术栈构建,拥抱变化,迭代优化。
|
||
# URL
|
||
url: https://github.com/Charles7c/continew-admin
|
||
# 基本包
|
||
basePackage: top.charles7c.cnadmin
|
||
## 作者信息配置
|
||
author:
|
||
name: Charles7c
|
||
email: charles7c@126.com
|
||
url: https://blog.charles7c.top/about/me
|
||
## 许可协议信息配置
|
||
license:
|
||
name: Apache-2.0
|
||
url: https://github.com/Charles7c/continew-admin/blob/dev/LICENSE
|
||
# 是否本地解析 IP 归属地
|
||
ipAddrLocalParseEnabled: true
|
||
|
||
--- ### 日志配置(重叠部分,优先级高于 logback-spring.xml 中的配置)
|
||
logging:
|
||
level:
|
||
top.charles7c: @logging.level@
|
||
file:
|
||
path: @logging.file.path@
|
||
config: classpath:logback-spring.xml
|
||
## 系统日志配置
|
||
system:
|
||
# 是否启用系统日志
|
||
enabled: true
|
||
# 是否记录内网 IP 操作
|
||
includeInnerIp: true
|
||
# 排除请求方式
|
||
#excludeMethods:
|
||
# - GET
|
||
# 脱敏字段
|
||
desensitizeFields:
|
||
- password
|
||
- Authorization
|
||
|
||
--- ### 接口文档配置
|
||
springdoc:
|
||
# 设置对象型参数的展示形式(设为 true 表示将对象型参数平展开,即对象内的属性直接作为参数展示而不是嵌套在对象内,默认为 false)
|
||
# 如果不添加该全局配置,可以在需要如此处理的对象参数类上使用 @ParameterObject
|
||
default-flat-param-object: true
|
||
swagger-ui:
|
||
path: /swagger-ui.html
|
||
tags-sorter: alpha
|
||
operations-sorter: alpha
|
||
show-extensions: true
|
||
api-docs:
|
||
enabled: ${springdoc.swagger-ui.enabled}
|
||
path: /v3/api-docs
|
||
group-configs:
|
||
- group: 'all'
|
||
paths-to-match: '/**'
|
||
packages-to-scan: top.charles7c.cnadmin.webapi.controller
|
||
- group: 'auth'
|
||
display-name: '系统认证'
|
||
paths-to-match: '/auth/**'
|
||
packages-to-scan: top.charles7c.cnadmin.webapi.controller.auth
|
||
- group: 'common'
|
||
display-name: '通用接口'
|
||
paths-to-match: '/common/**'
|
||
packages-to-scan: top.charles7c.cnadmin.webapi.controller.common
|
||
- group: 'system'
|
||
display-name: '系统管理'
|
||
paths-to-match: '/system/**'
|
||
packages-to-scan: top.charles7c.cnadmin.webapi.controller.system
|
||
- group: 'tool'
|
||
display-name: '系统工具'
|
||
paths-to-match: '/tool/**'
|
||
packages-to-scan: top.charles7c.cnadmin.webapi.controller.tool
|
||
- group: 'monitor'
|
||
display-name: '系统监控'
|
||
paths-to-match: '/monitor/**'
|
||
packages-to-scan: top.charles7c.cnadmin.webapi.controller.monitor
|
||
## 接口文档增强配置
|
||
knife4j:
|
||
enable: true
|
||
setting:
|
||
language: zh_cn
|
||
swagger-model-name: 实体类列表
|
||
# 是否显示默认的 footer(默认 true 显示)
|
||
enable-footer: false
|
||
# 是否自定义 footer(默认 false 非自定义)
|
||
enable-footer-custom: true
|
||
# 自定义 footer 内容,支持 Markdown 语法
|
||
footer-custom-content: 'Copyright © 2022-present [${continew-admin.author.name}](${continew-admin.author.url}) ⋅ [${continew-admin.name}](${continew-admin.url}) v${continew-admin.version}'
|
||
|
||
--- ### Sa-Token 配置
|
||
sa-token:
|
||
# token名称(同时也是 cookie 名称)
|
||
token-name: Authorization
|
||
# token前缀(例如填写 Bearer 实际传参 Authorization: Bearer xxxx-xxxx-xxxx-xxxx)
|
||
token-prefix: Bearer
|
||
# token有效期(单位:秒,默认 30 天,-1 代表永不过期)
|
||
timeout: 86400
|
||
# token临时有效期(单位:秒,指定时间内无操作就视为 token 过期)
|
||
activity-timeout: 1800
|
||
# 是否打开自动续签(如果此值为 true,框架会在每次直接或间接调用 getLoginId() 时进行一次过期检查与续签操作)
|
||
auto-renew: true
|
||
# 是否允许同一账号并发登录(为 true 时允许一起登录,为 false 时新登录挤掉旧登录)
|
||
is-concurrent: true
|
||
# 在多人登录同一账号时,是否共用一个 token(为 true 时所有登录共用一个 token,为 false 时每次登录新建一个 token)
|
||
is-share: false
|
||
# 是否尝试从 header 里读取 Token
|
||
is-read-header: true
|
||
# 是否尝试从 cookie 里读取 Token,此值为 false 后,StpUtil.login(id) 登录时也不会再往前端注入 Cookie,适合前后端分离模式
|
||
is-read-cookie: false
|
||
# 是否打印操作日志
|
||
is-log: false
|
||
# JWT秘钥
|
||
jwt-secret-key: asdasdasifhueuiwyurfewbfjsdafjk
|
||
|
||
--- ### MyBatis Plus 配置
|
||
mybatis-plus:
|
||
# Mapper 接口扫描包配置(该配置为自定义配置,非 MP 配置,不支持多包,如有需要可通过注解配置或提升扫描包层级)
|
||
# 该配置目前的唯一使用场景为:@MapperScan("${mybatis-plus.mapper-package}")
|
||
mapper-package: top.charles7c.**.mapper
|
||
# Mapper XML 文件目录配置
|
||
mapper-locations: classpath*:/mapper/**/*Mapper.xml
|
||
# 类型别名扫描包配置
|
||
type-aliases-package: top.charles7c.**.model
|
||
check-config-location: true
|
||
configuration:
|
||
# 自动驼峰命名规则(camel case)映射
|
||
map-underscore-to-camel-case: true
|
||
# MyBatis 自动映射策略
|
||
# NONE:不启用 PARTIAL:只对非嵌套 resultMap 自动映射 FULL:对所有 resultMap 自动映射
|
||
auto-mapping-behavior: PARTIAL
|
||
# MyBatis 自动映射时未知列或未知属性处理策略
|
||
# NONE:不做处理 WARNING:打印相关警告 FAILING:抛出异常和详细信息
|
||
auto-mapping-unknown-column-behavior: NONE
|
||
# 日志配置
|
||
# 默认:org.apache.ibatis.logging.slf4j.Slf4jImpl
|
||
# 更详细(会有性能损耗):org.apache.ibatis.logging.stdout.StdOutImpl
|
||
# 关闭(可单纯使用 p6spy 分析):org.apache.ibatis.logging.nologging.NoLoggingImpl
|
||
log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
|
||
global-config:
|
||
banner: true
|
||
db-config:
|
||
# 主键类型(默认 assign_id 表示自行赋值)
|
||
# auto 代表使用数据库自增策略(需要在表中设置好自增约束)
|
||
id-type: AUTO
|
||
# 逻辑删除字段
|
||
logic-delete-field: isDeleted
|
||
# 逻辑删除全局值(默认 1,表示已删除)
|
||
logic-delete-value: 1
|
||
# 逻辑未删除全局值(默认 0,表示未删除)
|
||
logic-not-delete-value: 0
|
||
|
||
--- ### 服务器配置
|
||
server:
|
||
servlet:
|
||
# 应用访问路径
|
||
context-path: /
|
||
## Undertow 服务器配置
|
||
undertow:
|
||
# HTTP POST 请求内容的大小上限(默认 -1 不限制)
|
||
max-http-post-size: -1
|
||
# 以下的配置会影响 buffer,这些 buffer 会用于服务器连接的 IO 操作,有点类似 Netty 的池化内存管理
|
||
# 每块 buffer的空间大小(越小的空间被利用越充分,不要设置太大,以免影响其他应用,合适即可)
|
||
buffer-size: 512
|
||
# 是否分配的直接内存(NIO 直接分配的堆外内存)
|
||
direct-buffers: true
|
||
threads:
|
||
# 设置 IO 线程数,它主要执行非阻塞的任务,它们会负责多个连接(默认每个 CPU 核心一个线程)
|
||
io: 8
|
||
# 阻塞任务线程池,当执行类似 Servlet 请求阻塞操作,Undertow 会从这个线程池中取得线程(它的值设置取决于系统的负载)
|
||
worker: 256
|
||
|
||
--- ### Spring 配置
|
||
spring:
|
||
application:
|
||
name: ${continew-admin.appName}
|
||
## 环境配置
|
||
profiles:
|
||
# 启用的环境
|
||
# 配合 Maven Profile 选择不同配置文件进行启动,在 IntelliJ IDEA 右侧 Maven 工具窗口可以快速切换环境
|
||
active: @profiles.active@
|
||
main:
|
||
# 允许定义重名的 bean 对象覆盖原有的 bean
|
||
allow-bean-definition-overriding: true
|
||
# 允许循环依赖
|
||
allow-circular-references: true
|
||
## MVC 配置
|
||
mvc:
|
||
format:
|
||
# 日期格式化(针对 java.util.Date)
|
||
date-time: yyyy-MM-dd HH:mm:ss
|
||
## JSON 配置
|
||
jackson:
|
||
# 时区配置
|
||
time-zone: GMT+8
|
||
# 日期格式化(针对 java.util.Date)
|
||
date-format: yyyy-MM-dd HH:mm:ss
|
||
# 序列化配置(Bean -> JSON)
|
||
serialization:
|
||
# 允许序列化无属性的 Bean
|
||
FAIL_ON_EMPTY_BEANS: false
|
||
# 反序列化配置(JSON -> Bean)
|
||
deserialization:
|
||
# 允许反序列化不存在的属性
|
||
FAIL_ON_UNKNOWN_PROPERTIES: false
|
||
## 缓存配置(@Cacheable)
|
||
cache:
|
||
type: redis
|
||
redis:
|
||
# 缓存过期时长(单位:毫秒,默认 -1,表示永不过期)
|
||
time-to-live: 7200000
|
||
# 是否允许缓存空值(默认 true,表示允许,可以解决缓存穿透问题)
|
||
cache-null-values: true
|
||
|
||
--- ### 健康检查配置
|
||
management.health:
|
||
mail:
|
||
# 关闭邮箱健康检查(邮箱配置错误或邮箱服务器不可用时,健康检查会报错)
|
||
enabled: false
|
||
|
||
--- ### 线程池配置
|
||
thread-pool:
|
||
# 是否启用线程池
|
||
enabled: true
|
||
# 队列容量
|
||
queueCapacity: 128
|
||
# 活跃时间
|
||
keepAliveSeconds: 300
|
||
|
||
--- ### 代码生成器配置
|
||
generator:
|
||
# 排除数据表
|
||
excludeTables:
|
||
- DATABASECHANGELOG
|
||
- DATABASECHANGELOGLOCK
|
||
- gen_config
|
||
- gen_field_config
|
||
# 模板配置
|
||
templateConfigs:
|
||
DO:
|
||
# 模板路径
|
||
templatePath: generator/Entity.ftl
|
||
# 包名称
|
||
packageName: model.entity
|
||
# 排除字段
|
||
excludeFields:
|
||
- id
|
||
- createUser
|
||
- createTime
|
||
- updateUser
|
||
- updateTime
|
||
Query:
|
||
templatePath: generator/Query.ftl
|
||
packageName: model.query
|
||
Request:
|
||
templatePath: generator/Request.ftl
|
||
packageName: model.request
|
||
VO:
|
||
templatePath: generator/VO.ftl
|
||
packageName: model.vo
|
||
excludeFields:
|
||
- id
|
||
- createUser
|
||
- createTime
|
||
DetailVO:
|
||
templatePath: generator/DetailVO.ftl
|
||
packageName: model.vo
|
||
excludeFields:
|
||
- id
|
||
- createUser
|
||
- createTime
|
||
- updateUser
|
||
- updateTime
|
||
Mapper:
|
||
templatePath: generator/Mapper.ftl
|
||
packageName: mapper
|
||
Service:
|
||
templatePath: generator/Service.ftl
|
||
packageName: service
|
||
ServiceImpl:
|
||
templatePath: generator/ServiceImpl.ftl
|
||
packageName: service.impl
|
||
Controller:
|
||
templatePath: generator/Controller.ftl
|
||
packageName: controller |