在使用spring cache 时,在applicationContext.xml文件中需要配置cacheManager的Bean,常规的,我们可以配置SimpleCacheManager,
在配置项中,我们需要指定一个或多个Cache容器,如下:
<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
<property name="caches">
<set>
<bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
p:name="default" />
</set>
</property>
</bean>
请注意其中的 p:name="default"项,该项表明了这个cache容器的名称叫做 default,
在代码中,给方法注解@Cacheable时,务必需要指明该cache容器的名字,@Cacheable(cacheNames="default",key="xxxx")
key=“xxxx”指明了该条缓存项的检索Key值,如果cacheNames中出现的名字(例如:default2)没有在上述XML配置中声明,则在运行时会报:
java.lang.IllegalArgumentException:Cannot find cache named 'default2' for Builder 的错误