我目前正在编写一个自定义的 @Cacheable 注释,除了 Spring 的 @Cacheable 提供的属性之外,该注释还将采用附加元数据属性。然而,Spring 需要知道如何解析这个新的注释。我的理解是,我需要通过扩展 CacheAnnotationParser 并将其注入到 AnnotationCacheOperationSource 来实现我的 自己的注释解析器。
但默认情况下 AnnotationCacheOperationSource 使用 springcacheannotationparser,即使我尝试将自定义解析器作为构造函数注入注入到 AnnotationCacheOperationSource ,这也不起作用。
有人可以帮忙吗?
在 ProxyCachingConfiguration 中,bean 是使用名称
cacheOperationSource
创建的,返回类型是 CacheOperationSource
,可能您将其重写为;
public AnnotationCacheOperationSource annotationCacheOperationSource() {
return new AnnotationCacheOperationSource(new YourCustomCacheAnnotationParser());
}
您需要将返回类型更改为
CacheOperationSource
或将方法重命名为 cacheOperationSource
,以便 spring 知道您正在覆盖该 bean。