我在Spring applicationcontext.xml中添加了<cache:annotation-driven />
。
还添加了
<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
<property name="caches">
<set><bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
name="executeCachedMethod" />
</set></property></bean>
在使用JdbcTemplate进行数据库调用的方法之前添加了@Cacheable。
每当我使用相同的参数方法调用该方法时,总是执行并转到数据库。它应该让我得到一个缓存的结果。有什么帮助吗?
答案 0 :(得分:0)
实际上我在启动期间在spring bean中使用它。通过Spring实现@cacheable
仅在cacheInterceptor.afterSingletonsInstantiated()
调用之后才能工作。就我而言,我之前就是在使用它。
所以只是为了测试
@Autowired
CacheInterceptor cacheInterceptor;
只是为了在加载时测试缓存,如果我们有意(不推荐)进行此调用cacheInterceptor.afterSingletonsInstantiated()
,缓存将起作用。