Cacheable Annotation有什么用?

时间:2013-10-16 07:52:39

标签: java spring web-services java-ee ehcache

有人可以解释一下

之间的区别

com.googlecode.ehcache.annotations.Cacheable 和 org.springframework.cache.annotation.Cacheable

如果我用第二个替换第一个会产生什么影响?

我在使用spring编码的Web服务中使用了@Cacheable

@Cacheable(value = "policyCache")
public ResponseEntity<ResponseVO> listById(@PathVariable(value = "id") )

1 个答案:

答案 0 :(得分:1)

Spring 3为缓存服务引入了一个新的抽象层。我们的想法是提供一组常用功能,主要是注释,以激活和管理缓存。 由于它只是一个抽象层,Spring 3缓存仍然需要一个具体的实现来工作。缓存实现的入口点是CacheManager接口。默认情况下,提供了2个CacheManager的具体实现: EhCacheCacheManager:EhCache的默认实现 ConcurrentMapCacheManager:使用Java ConcurrentHashMap作为缓存存储的默认实现。

使用com.googlecode.ehcache.annotations.Cacheable,您可以立即依赖ehCache实现。

如果您使用Spring注释,如果您想稍后更改缓存实现,则不必进行任何代码调整,因此我建议使用后者。