<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd"> <context:component-scan base-package="com.my.proper" /> <context:component-scan base-package="com.my.action" /> <context:annotation-config /> <!-- cache注解 --> <cache:annotation-driven /> <!--spring cache管理器 --> <bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager"> <property name="caches"> <set> <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"> <property name="name" value="default" /> </bean> <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"> <property name="name" value="mycache" /> </bean> </set> </property> </bean> </beans>
package com.my.action; import java.util.UUID; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; @Service public class MyCache { @Cacheable(value = "mycache") public String getUuid() { return UUID.randomUUID().toString(); } @CacheEvict(value = "mycache") public String updateUuid() { return UUID.randomUUID().toString(); } }
public void cacheTest() { MyCache cache=(MyCache) cx.getBean("myCache"); System.out.println(cache.getUuid()); System.out.println(cache.getUuid()); System.out.println(cache.updateUuid()); System.out.println(cache.getUuid()); System.out.println(cache.getUuid()); }