【发布时间】:2016-04-07 14:37:42
【问题描述】:
我开发了一个简单的应用程序来测试 spring 缓存抽象。这个应用程序使用 SimpleCacheManager 将数据存储在地图中。调用从 MVC 控制器到服务到 dao。服务类方法用 @Cacheble("test") 注释,是一个公共方法,有一个字符串类型的参数并返回字符串。现在我们需要通过传递给这个服务类方法的参数来缓存这些值。
这里是缓存配置
<cache:annotation-driven cache-manager="cacheManager" />
<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
<property name="caches">
<set>
<bean
class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
name="test"/>
</set>
</property>
</bean>
方法注解是这样的
@Cacheable(value="test",key="#id")
public String getProductName(final String id) {
不知何故,它总是在进行 db 调用。我做错了什么?
【问题讨论】:
标签: spring spring-mvc