2013-10-16 31 views
0

可有人请解释什么,如果我什么是使用可高速缓存的注释

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

之间的区别用第二个替换第一个将会有什么效果?

我已经在使用的弹簧

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

回答

1

春季3引入了对缓存服务的新抽象层编码的Web服务使用@Cacheable。这个想法是提供一组通用功能,主要是注释,以激活和管理缓存。 因为它只是一个抽象层,所以Spring 3的缓存仍然需要一个具体的实现来工作。 Cache实现的入口点是CacheManager接口。默认情况下,提供CacheManager的2个具体实现: EhCacheCacheManager:EhCache的默认实现 ConcurrentMapCacheManager:使用Java ConcurrentHashMap作为缓存存储的默认实现。

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

如果你使用Spring注解,如果你想稍后改变你的缓存实现,你不必做任何代码改编,所以我会建议使用后者。