13.1启用对缓存的支持

package spittr.config;

import net.sf.ehcache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
import org.springframework.cache.ehcache.EhCacheCacheManager;
import org.springframework.cache.ehcache.EhCacheManagerFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;

/**
* @version 版权 Copyright(c)2019
* @ClassName:
* @Descripton: 开启缓存
* @author: Shing
* @date: 2020-07-13 14:34
*/
@Configuration
@EnableCaching
public class CachingConfig {

// @Bean
// public CacheManager cacheManager(){
// //声明缓存管理器
// //一个简单、可用、适用于开发、测试、基于内存的缓存
// return new ConcurrentMapCacheManager();
// }

/**
* Spring提供的缓存管理器
* SimpleCacheManager
* NoOpCacheManager
* ConCurrentMapCacheManager
* CompositeCacheManager
* EhCacheManager
* RedisCacheManager
* GemfireCacheManager
*/

/**
* 创建spring的EhCacheCacheManager需要传入一个
* net.sf.ehcache.CacheManager
* @param ehcache
* @return
*/
@Bean
public EhCacheCacheManager cacheManager(CacheManager ehcache){
return new EhCacheCacheManager(ehcache);
}

/**
* spring的EhCacheManagerFactoryBean提供了一个net.sf.ehcache.CacheManager
* 的工厂生成类,生成net.sf.ehcache.CacheManager
* @return
*/
@Bean
public EhCacheManagerFactoryBean ehcache(){
EhCacheManagerFactoryBean ehCacheManagerFactoryBean =
new EhCacheManagerFactoryBean();
ehCacheManagerFactoryBean.setConfigLocation(
new ClassPathResource("spittr/cache/ehcache.xml"));
return ehCacheManagerFactoryBean;
}


}






posted @ 2021-01-21 09:07  _Shing  阅读(145)  评论(0)    收藏  举报