# 核心配置

# 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

# Yaml配置

# ========================= Haichuang Setting =========================
haichuang:
  // 是否启用配置
  enable: true
  // 项目完整代号
  projectCode:
  // 请求超时时间, 可自定义时间单位, 默认时间单位为 [], 默认值为 [3s]
  requestTimeoutTime: 3s
1
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注解的方法进行请求日志打印
  • 标注位置:任意配置类(推荐启动类上标注)
  • 使用方法:
    1. 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请求日志的持久化功能
  • 使用方法:
    1. 在配置类上标注@EnableLogSave注解
    2. Controller方法上标注io.swagger.annotations.ApiOperation注解
    3. Controller方法上标注@LogSave注解
    4. 自定义继承pro.haichuang.framework.base.config.interceptor.AbstractLogSave抽象类并注入到Spring中,实现其抽象方法自定义实现持久化日志逻辑

# @EnableRequestTimeoutAspect (opens new window)

  • 注解名称:启用请求超时切面
  • 实现功能:对所有带有io.swagger.annotations.ApiOperation注解的的方法开启请求超时切面监听,超时则会抛出请求超时异常, 开发人员需要及时解决请求超时问题
  • 标注位置:任意配置类(推荐启动类上标注)
  • 使用方法:
    1. Controller方法上标注io.swagger.annotations.ApiOperation注解

# @EnumConvertValue (opens new window)

  • 注解名称:枚举值转换注解
  • 实现功能:实现请求参数为枚举时自动转换字符串为枚举对象(与实现BaseEnum接口功能一致,推荐实现BaseEnum接口,此枚举一般只用于特殊情况)
  • 使用方法:
    1. 当请求参数为字符串时,Controller方法形参类型为枚举时
    2. 在枚举类中指定静态方法(详情参见代码Javadoc文档),并在方法上标注此注解
Last Updated: 12/14/2021, 5:11:19 PM