Hutool的Assert类默认是启用的,但可以通过以下方式实现类似"禁用"的效果:
1、运行时控制
通过自定义全局异常处理器捕获Assert抛出的异常,实现业务逻辑上的"软禁用":
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(IllegalArgumentException.class)
public ResponseEntity<String> handleAssertException(IllegalArgumentException ex) {
// 记录日志但不阻断流程
log.warn("Assert触发: {}", ex.getMessage());
return ResponseEntity.ok("校验未通过");
}
}
2编译期排除
在Maven/Gradle中排除hutool-core模块的Assert类(需配合反射工具):
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.20</version>
<exclusions>
<exclusion>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
</exclusion>
</exclusions>
</dependency>
3、注意事项
- Hutool的Assert与JVM原生assert关键字无关
- 生产环境建议保留参数校验逻辑,可通过日志级别控制输出
- 禁用后需确保业务逻辑有替代的校验机制
2897

被折叠的 条评论
为什么被折叠?



