首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring simplecachemanager在方法调用上不起作用

spring simplecachemanager在方法调用上不起作用
EN

Stack Overflow用户
提问于 2016-04-07 22:37:42
回答 1查看 706关注 0票数 0

我开发了简单的应用程序来测试spring缓存抽象。此应用程序使用SimpleCacheManager在地图中存储数据。调用从MVC控制器转到服务,再转到dao。服务类方法使用@Cacheble("test")进行注释,是带有一个string类型参数的公共方法,并返回String。现在,我们只需要通过传递给这个服务类方法的参数来缓存这些值。

下面是缓存配置

代码语言:javascript
复制
<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>

方法注释如下所示

代码语言:javascript
复制
@Cacheable(value="test",key="#id")
public String getProductName(final String id) {

不知何故,它总是发出db调用。我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2016-04-07 22:54:22

你的cacheName错了。你写

代码语言:javascript
复制
@Cacheable(value="test",key="#id")
public String getProductName(final String id) {

使用cacheName“测试”,但在您的配置中没有名为“测试”的缓存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36479466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档