applicationContext-ehcache.xml中的配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/cache
http://www.springframework.org/schema/cache/spring-cache.xsd">
<!-- 支持缓存注解 -->
<cache:annotation-driven cache-manager="cacheManager" />
<!-- 默认是cacheManager -->
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
<property name="cacheManager" ref="cacheManagerFactory"/>
</bean>
<!-- cache管理器配置 -->
<bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:ehcache.xml"/>
<property name="shared" value="true" />
</bean>
</beans>
ehcache工具类
package com.zheng.common.util;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
* Ehcache工具类
* Created by shuzheng on 2016/10/15.
*/
public class EhCacheUtil {
/**
* 获取缓存
* @param cacheName
* @return
*/
private static Cache getCache(String cacheName) {
CacheManager cacheManager = CacheManager.getInstance();
if (null == cacheManager) {
return null;
}
Cache cache = cacheManager.getCache(cacheName);
if (null == cache) {
return null;
}
return cache;
}
/**
* 新增缓存记录
* @param cacheName
* @param key
* @param value
*/
public static void put(String cacheName, String key, Object value) {
Cache cache = getCache(cacheName);
if (null != cache) {
Element element = new Element(key, value);
cache.put(element);
}
}
/**
* 删除缓存记录
* @param cacheName
* @param key
* @return
*/
public static boolean remove(String cacheName, String key) {
Cache cache = getCache(cacheName);
if (null == cache) {
return false;
}
return cache.remove(key);
}
/**
* 删除全部缓存记录
* @param cacheName
* @return
*/
public static void removeAll(String cacheName) {
Cache cache = getCache(cacheName);
if (null != cache) {
cache.removeAll();
}
}
/**
* 获取缓存记录
* @param cacheName
* @param key
* @return
*/
public static Object get(String cacheName, String key) {
Cache cache = getCache(cacheName);
if (null == cache) {
return null;
}
Element cacheElement = cache.get(key);
if (null == cacheElement) {
return null;
}
return cacheElement.getObjectValue();
}
}
可以在mapper.xml后面加上
<cache type="org.mybatis.caches.ehcache.LoggingEhcache" />