# 核心配置
# Yaml配置引用
# ========================= Spring Setting =========================
spring:
profiles:
# This configuration has been in effect since spring-boot 2.4.0
group:
dev: log4j2-dev
prod: log4j2-prod
include:
- common
- knife4j
- jackson
- mybatis
- scheduling
active: dev
application:
name: Application名称
servlet:
multipart:
max-file-size: 100GB
max-request-size: 100GB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- 查看公共配置:application-common.yml (opens new window)
- 查看开发环境Log4j2配置:application-log4j2-dev.yml (opens new window)
- 查看生产环境Log4j2配置:application-log4j2-prod.yml (opens new window)
- 查看API接口文档配置:application-knife4j.yml (opens new window)
- 查看Jackson配置:application-jackson.yml (opens new window)
- 查看Mybatis配置:application-mybatis.yml (opens new window)
- 查看Scheduling多线程配置:application-scheduling.yml (opens new window)
# Yaml配置
# ========================= Haichuang Setting =========================
haichuang:
// 是否启用配置
enable: true
// 项目完整代号
projectCode:
// 请求超时时间, 可自定义时间单位, 默认时间单位为 [秒], 默认值为 [3s]
requestTimeoutTime: 3s
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 核心注解
包路径:pro.haichuang.framework.base.config.annotation (opens new window)
# @EnableControllerAdvice (opens new window)
- 注解名称:全局Controller异常拦截
- 实现功能:全局拦截
Controller请求,包括自定义异常、请求参数验证、请求体验证、请求类型转换等 - 标注位置:任意配置类(推荐启动类上标注)
# @EnableControllerLogAspect (opens new window)
- 注解名称:启用Controller请求日志打印
- 实现功能:对所有带有
io.swagger.annotations.ApiOperation注解的方法进行请求日志打印 - 标注位置:任意配置类(推荐启动类上标注)
- 使用方法:
- 在
Controller方法上标注io.swagger.annotations.ApiOperation注解
- 在
# @EnableGlobalCorsConfig (opens new window)
- 注解名称:启用全局跨域配置
- 实现功能:解决跨域问题
- 标注位置:任意配置类(推荐启动类上标注)
# @EnableLogSave (opens new window)
- 注解名称:启用Controller请求日志持久化
- 实现功能:对所有带有
io.swagger.annotations.ApiOperation注解的方法进行请求日志持久化 - 标注位置:任意配置类(推荐启动类上标注)
- 使用方法:结合@LogSave注解使用
# @LogSave (opens new window)
- 注解名称:Controller请求日志持久化
- 实现功能:实现Controller请求日志的持久化功能
- 使用方法:
- 在配置类上标注@EnableLogSave注解
- 在
Controller方法上标注io.swagger.annotations.ApiOperation注解 - 在
Controller方法上标注@LogSave注解 - 自定义继承
pro.haichuang.framework.base.config.interceptor.AbstractLogSave抽象类并注入到Spring中,实现其抽象方法自定义实现持久化日志逻辑
# @EnableRequestTimeoutAspect (opens new window)
- 注解名称:启用请求超时切面
- 实现功能:对所有带有
io.swagger.annotations.ApiOperation注解的的方法开启请求超时切面监听,超时则会抛出请求超时异常, 开发人员需要及时解决请求超时问题 - 标注位置:任意配置类(推荐启动类上标注)
- 使用方法:
- 在
Controller方法上标注io.swagger.annotations.ApiOperation注解
- 在
# @EnumConvertValue (opens new window)
- 注解名称:枚举值转换注解
- 实现功能:实现请求参数为枚举时自动转换字符串为枚举对象(与实现
BaseEnum接口功能一致,推荐实现BaseEnum接口,此枚举一般只用于特殊情况) - 使用方法:
- 当请求参数为字符串时,
Controller方法形参类型为枚举时 - 在枚举类中指定静态方法(详情参见代码Javadoc文档),并在方法上标注此注解
- 当请求参数为字符串时,