news 2026/1/20 1:30:03

SpringBoot 3.4.x踩坑记录及解决方案(持续更新)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringBoot 3.4.x踩坑记录及解决方案(持续更新)
废话
最近使用JDK17+Spring Boot3.4.0 做新项目遇到的一些坑,记录并且给出一些实际的解决方案
一、集成Mybatis Plus 3.5.9的问题

第一:不能只引入mybatis-plus-spring-boot3-starter依赖了,需要配合mybatis-plus-jsqlparser

<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-jsqlparser</artifactId> </dependency>

第二:版本统一管理

<dependencyManagement> <dependencies> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-bom</artifactId> <version>3.5.9</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>

详情请见:https://baomidou.com/getting-started/install/

二、集成Knife4j-OpenApi3

这个改动真的有点大,切费老鼻子劲了,不建议旧项目直接迁移,不然得改到S3赛季开战!

<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId> <version>4.4.0</version> </dependency>

1、实体类写法变动
没有@ApiModel 和@ApiModelProperty写法,全局使用@Schema

@Schema(name = "OaDeptDTO对象", description = "部门表") public class OaDeptDTO implements Serializable { @Serial private static final long serialVersionUID = 1L; @Schema(description = "主键") private Long id; @Schema(description = "父部门id",defaultValue = "0") private Long parentId; @Schema(description = "部门名称") private String deptName; @Schema(description = "部门编码") private String deptCode; @Schema(description = "状态(0正常 1停用)") private Integer status; }

2 接口类写法

没有@Api和@ApiOperation写法

旧版本

新版本

@Api

@Tag

@ApiOperationi

@Operation

@Tag(name = "部门表") @RestController @RequiredArgsConstructor @RequestMapping("/oa/dept") public class OaDeptController { private final OaDeptAppService oaDeptAppService; @Operation(summary = "新增部门") @PostMapping("/add") public Result<Boolean> add(@RequestBody OaDeptDTO oaDept) { return Result.ok(oaDeptAppService.add(oaDept)); } }

注意注意请注意(呜呜呜~~~~)

Knife4j-OpenApi3存在一个大问题,如果你的项目中存在全局异常拦截类,@RestControllerAdvice/@ControllerAdvice,访问接口文档会报错,这是版本得bug,所以你无需自卑也不要过度伤心,叉掉你浏览器上密密麻麻的标签页吧。

详情见issue:https://github.com/xiaoymin/knife4j/issues/865

解决方案:升级springdoc-openapi-starter-webmvc-ui 2.7.0

<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId> <version>${knife4j.version}</version> <exclusions> <exclusion> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.7.0</version> </dependency>
三、接口写法变动

之前的写法:(这样一直没毛病啊,但是3.4.0不行!!!!)

@Operation(summary = "查询数据明细") @GetMapping("/{id}") public Result<OaRoleVO> detail(@PathVariable Long id) { return Result.ok(oaRoleAppService.detail(id)); }

报错信息:

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [java.lang.Long] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.] with root cause

解决方案:

@Operation(summary = "查询数据明细") @GetMapping("/{id}") public Result<OaRoleVO> detail(@PathVariable("id") Long id) { return Result.ok(oaRoleAppService.detail(id)); }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/12 17:24:26

腾讯开源翻译模型应用:游戏多语言本地化方案

腾讯开源翻译模型应用&#xff1a;游戏多语言本地化方案 随着全球化进程的加速&#xff0c;游戏出海已成为国内厂商的重要战略方向。然而&#xff0c;语言障碍始终是本地化过程中的核心挑战——既要保证翻译准确&#xff0c;又要兼顾文化适配、术语统一和实时响应。传统商业翻…

作者头像 李华
网站建设 2026/1/20 3:45:15

RS485半双工通信时序优化在STM32中的实践

RS485半双工通信时序优化在STM32中的实战精要工业现场&#xff0c;一条屏蔽双绞线横穿数十米&#xff0c;连接着PLC、变频器和温控仪表。上位机轮询指令刚发出&#xff0c;响应却迟迟不回——是线路干扰&#xff1f;还是协议解析出错&#xff1f;经验丰富的工程师知道&#xff…

作者头像 李华
网站建设 2026/1/18 4:42:46

PDF-Extract-Kit常见误区:新手容易犯的错误

PDF-Extract-Kit常见误区&#xff1a;新手容易犯的错误 1. 引言 1.1 工具背景与使用现状 PDF-Extract-Kit 是由开发者“科哥”基于开源生态二次开发构建的一款PDF智能提取工具箱&#xff0c;集成了布局检测、公式识别、OCR文字提取、表格解析等核心功能。其WebUI界面简洁直观…

作者头像 李华
网站建设 2026/1/19 8:47:03

PDF-Extract-Kit案例库:成功应用场景集合

PDF-Extract-Kit案例库&#xff1a;成功应用场景集合 1. 引言 在数字化转型加速的今天&#xff0c;PDF文档作为信息传递的重要载体&#xff0c;广泛应用于科研、教育、金融、法律等多个领域。然而&#xff0c;传统PDF阅读器仅支持查看和简单标注&#xff0c;难以满足对文档内…

作者头像 李华
网站建设 2026/1/13 15:28:25

PDF-Extract-Kit技术详解:文档布局检测算法原理

PDF-Extract-Kit技术详解&#xff1a;文档布局检测算法原理 1. 引言&#xff1a;智能文档解析的技术挑战 在数字化转型的浪潮中&#xff0c;PDF文档作为学术论文、技术报告和商业文件的主要载体&#xff0c;其结构化信息提取需求日益增长。传统基于规则的PDF解析工具&#xf…

作者头像 李华
网站建设 2026/1/16 6:26:31

科哥PDF-Extract-Kit教程:API接口开发与调用指南

科哥PDF-Extract-Kit教程&#xff1a;API接口开发与调用指南 1. 引言 1.1 背景与目标 在数字化文档处理日益普及的今天&#xff0c;PDF作为最广泛使用的格式之一&#xff0c;承载了大量结构化与非结构化信息。然而&#xff0c;传统PDF解析工具往往难以应对复杂版面、数学公式…

作者头像 李华