spring-data-rest-webmvc 3.4.x是否与Spring Boot 2.3.x版本兼容?
CVE-2021-22047 修复方案兼容性说明
兼容性结论
Spring Boot 2.3.x 版本和 spring-data-rest-webmvc:3.4.14 可以兼容搭配使用,不需要升级 Spring Boot 到 2.4.x 及以上版本即可完成漏洞修复。
升级前置要求
由于 spring-data-rest-webmvc 3.4.x 属于 Spring Data 2020.0(Ockham)发布系列,依赖的 Spring Framework 最低版本为 5.3.x,你需要同步调整两个核心依赖的版本基线,避免出现版本不匹配问题:
- 统一升级所有 Spring Data 模块到 2020.0.14 发布系列,该系列内置的
spring-data-rest-webmvc版本就是 3.4.14,无需单独指定单个模块版本 - 同步升级 Spring Framework 到 5.3.x 最新稳定版,Spring Boot 2.3.x 对 Spring Framework 5.3.x 系列完全兼容,不会出现核心容器、Web 层的功能冲突
具体操作步骤
Maven 项目配置
在项目根 pom.xml 的 dependencyManagement 节点中,添加以下版本属性覆盖:
<properties> <!-- 覆盖Spring Data发布系列版本,对应spring-data-rest-webmvc 3.4.14 --> <spring-data-releasetrain.version>2020.0.14</spring-data-releasetrain.version> <!-- 覆盖Spring Framework版本,选最新5.3.x稳定版即可 --> <spring-framework.version>5.3.24</spring-framework.version> </properties>
Gradle 项目配置
在项目根 build.gradle 的 ext 块中添加以下版本属性:
ext { set('spring-data-releasetrain.version', '2020.0.14') set('spring-framework.version', '5.3.24') }
升级后校验注意点
升级完成后建议重点校验以下业务场景,避免小版本差异带来的兼容问题:
- 自定义 REST 资源投影逻辑
- Repository 层自定义查询、事件监听器逻辑
- 自定义的 REST API 路径映射规则
标准 CRUD、分页排序、参数绑定等核心功能不会发生变更,无需额外改造。
内容的提问来源于stack exchange,提问作者Thomas Meier
相关产品推荐
相关产品推荐

