mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-09-12 16:57:12 +08:00
ci: 👷 调整项目打包结构,分离依赖、配置文件
1.调整 Spring Boot 配置文件到 config 目录 2.移除 Maven Profiles 配置 3.调整项目打包结构,分离依赖、配置文件。如无依赖调整,部署时仅需拷贝程序包,且更方便进行配置修改 4.调整后的项目打包结构,更贴合部署安装程序结构,例如:Tomcat 安装包、Maven 安装包 5.建议在 bin 目录上一级执行程序,以使日志文件能正确生成在 logs 目录下,参考 Dockerfile
This commit is contained in:
281
continew-admin-webapi/src/main/resources/config/application.yml
Normal file
281
continew-admin-webapi/src/main/resources/config/application.yml
Normal file
@@ -0,0 +1,281 @@
|
||||
--- ### 项目配置
|
||||
project:
|
||||
# 名称
|
||||
name: ContiNew Admin
|
||||
# 应用名称
|
||||
appName: continew-admin
|
||||
# 版本
|
||||
version: 1.2.0-SNAPSHOT
|
||||
# 描述
|
||||
description: ContiNew Admin 中后台管理框架/脚手架,Continue New Admin,持续以最新流行技术栈构建,拥抱变化,迭代优化。
|
||||
# URL
|
||||
url: https://cnadmin.charles7c.top
|
||||
# 基本包
|
||||
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:
|
||||
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: ${project.basePackage}.webapi.controller
|
||||
- group: 'auth'
|
||||
display-name: '系统认证'
|
||||
paths-to-match: '/auth/**'
|
||||
packages-to-scan: ${project.basePackage}.webapi.controller.auth
|
||||
- group: 'common'
|
||||
display-name: '通用接口'
|
||||
paths-to-match:
|
||||
- '/common/**'
|
||||
- '/dashboard/**'
|
||||
packages-to-scan: ${project.basePackage}.webapi.controller.common
|
||||
- group: 'system'
|
||||
display-name: '系统管理'
|
||||
paths-to-match: '/system/**'
|
||||
packages-to-scan: ${project.basePackage}.webapi.controller.system
|
||||
- group: 'tool'
|
||||
display-name: '系统工具'
|
||||
paths-to-match: '/tool/**'
|
||||
packages-to-scan: ${project.basePackage}.webapi.controller.tool
|
||||
- group: 'monitor'
|
||||
display-name: '系统监控'
|
||||
paths-to-match: '/monitor/**'
|
||||
packages-to-scan: ${project.basePackage}.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 [${project.author.name}](${project.author.url}) ⋅ [${project.name}](${project.url}) v${project.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 最低活跃频率(单位:秒,默认 -1,代表不限制,永不冻结。如果 token 超过此时间没有访问系统就会被冻结)
|
||||
active-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: ${project.basePackage}.**.mapper
|
||||
# Mapper XML 文件目录配置
|
||||
mapper-locations: classpath*:/mapper/**/*Mapper.xml
|
||||
# 类型别名扫描包配置
|
||||
type-aliases-package: ${project.basePackage}.**.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: ${project.appName}
|
||||
## 环境配置
|
||||
profiles:
|
||||
# 启用的环境
|
||||
active: dev
|
||||
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
|
||||
|
||||
--- ### 健康检查配置
|
||||
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
|
Reference in New Issue
Block a user