Spring Cache:如何为应用程序指定全局@CacheConfig

时间:2015-10-22 17:59:47

标签: java spring spring-annotations spring-cache

我正在为我的Java应用程序设置Spring Cache支持。我想要一种为整个项目设置全局@CacheConfig的方法,因为我希望应用程序中的所有缓存操作都使用完全相同的缓存名称自定义KeyGenerator实现。我希望我能用CacheManager注释一些全局配置类或我的@CacheConfig,但看起来@CacheConfig仅用作具有Cache Annotation的方法类的配置。因此,我需要使用Spring Cache操作为每个类使用相同的@CacheConfig注释定义。

我将在同时使用的解决方法是实现我自己的{em>元注释的Spring Cache注释,例如@Cacheable,以便完全相同{{1} }和name将用于所有缓存操作。但是,必须有一种比使用自定义注释更好的方法。如果我遇到过我想使用名为“默认”以外的缓存的情况,那么我将使用自定义注释遇到麻烦。

有什么想法吗?谢谢。

1 个答案:

答案 0 :(得分:1)

是的,这是可行的。

您只需要使用自己的CacheAnnotationParser填充AnnotationCacheOperationSource,看看默认情况下是如何完成的:SpringCacheAnnotationParser

不幸的是我无法为你提供代码片段,我的Spring-fu目前太弱了。如果你设法让这个工作 - 让我知道。