在 Spring 3 中编写自定义 Spring @Cacheable 注解

问题描述 投票:0回答:1

我目前正在编写一个自定义的 @Cacheable 注释,除了 Spring 的 @Cacheable 提供的属性之外,该注释还将采用附加元数据属性。然而,Spring 需要知道如何解析这个新的注释。我的理解是,我需要通过扩展 CacheAnnotationParser 并将其注入到 AnnotationCacheOperationSource 来实现我的 自己的注释解析器

但默认情况下 AnnotationCacheOperationSource 使用 springcacheannotationparser,即使我尝试将自定义解析器作为构造函数注入注入到 AnnotationCacheOperationSource ,这也不起作用。

有人可以帮忙吗?

spring-3 spring-cache
1个回答
0
投票

在 ProxyCachingConfiguration 中,bean 是使用名称

cacheOperationSource
创建的,返回类型是
CacheOperationSource
,可能您将其重写为;

public AnnotationCacheOperationSource annotationCacheOperationSource() {
    return new AnnotationCacheOperationSource(new YourCustomCacheAnnotationParser());
}

您需要将返回类型更改为

CacheOperationSource
或将方法重命名为
cacheOperationSource
,以便 spring 知道您正在覆盖该 bean。

© www.soinside.com 2019 - 2024. All rights reserved.