You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 2.0.9.RELEASE集成@CollectionCacheable启动失败如何解决

问题原因

该报错是Spring框架版本不兼容导致:

  • 你当前使用的Spring Boot 2.0.9.RELEASE内置的spring-context依赖版本为5.0.13.RELEASE
  • collection-cacheable-for-spring-starter 1.2.0要求Spring框架版本≥5.1,它调用的CacheInterceptor.configure()方法是Spring 5.1才新增的API,在5.0.x版本中不存在,因此触发NoSuchMethodError。
解决方案

方案1:降级collection-cacheable依赖版本(无需调整现有框架版本,优先推荐)

该组件1.1.0版本是兼容Spring 5.0.x的最后一个正式版本,直接修改POM中对应依赖的版本号即可:

<dependency>
    <groupId>de.qaware.tools.collection-cacheable-for-spring</groupId>
    <artifactId>collection-cacheable-for-spring-starter</artifactId>
    <version>1.1.0</version>
</dependency>

修改后刷新Maven依赖重启项目,即可正常使用@CollectionCacheable注解。
注意:降级到1.1.0版本后,核心的集合批量缓存查询、缺失值回写等功能不受影响,仅缺失1.2.0版本新增的少量边缘优化特性,完全满足常规业务需求。

方案2:升级Spring Boot版本(适合允许调整框架版本的场景)

将Spring Boot父依赖版本升级到2.1.0.RELEASE及以上,对应内置的spring-context版本≥5.1,即可兼容1.2.0版本的collection-cacheable组件。
注意:你当前使用的Spring Cloud Finchley系列仅适配Spring Boot 2.0.x,升级Spring Boot到2.1.x后需要同步将Spring Cloud版本调整为Greenwich系列,避免出现新的依赖兼容问题。

方案3:自行实现同类功能(不想引入第三方依赖时可选)

如果不想引入第三方组件,也可以手动实现集合批量缓存逻辑:

  • 首先根据入参ID集合,批量查询缓存中已存在的KEY对应的值
  • 筛选出缓存中缺失的ID,调用业务方法查询这部分数据
  • 将新查询到的数据批量写入缓存后,合并已有缓存数据和新查询的数据返回即可。

内容的提问来源于stack exchange,提问作者TtBb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 20:54:02