Spring4 注解方式开启缓存
来源:互联网 发布:网络的好处与坏处 编辑:程序博客网 时间:2024/06/03 06:59
可以采用单缓存 或者 多缓存
ehcache.xml
<?xml version="1.0" encoding="UTF-8"?><ehcache><cache name="spittleCache" maxBytesLocalHeap="50m" timeToLiveSeconds="100"></cache></ehcache>
单独开启ehcache 或 redis
@Configuration@EnableCachingpublic class CachingCinfig {// @Bean// public CacheManager cacheManager(){// return new ConcurrentMapCacheManager();// } /** * EhCache 缓存管理器 * @author dong.tl * @date 2017年4月21日 下午2:05:20 * @param cm * @return */ // @Bean// public EhCacheCacheManager cacheManager(CacheManager cm) {// return new EhCacheCacheManager(cm);// } @Bean public EhCacheManagerFactoryBean ehcache() { EhCacheManagerFactoryBean ehCacheManagerFactoryBean = new EhCacheManagerFactoryBean(); ehCacheManagerFactoryBean.setConfigLocation(new ClassPathResource("eache/ehcache.xml")); return ehCacheManagerFactoryBean; } /** * 配置redis缓存管理器 * @author dong.tl * @date 2017年4月21日 下午2:04:23 * @param redisTemplate * @return */ // @Bean// public org.springframework.cache.CacheManager cacheManager(RedisTemplate<String, String> redisTemplate){// return new RedisCacheManager(redisTemplate);// } /** * 多缓存管理器 * @author dong.tl * @date 2017年4月21日 下午2:15:57 * @param ecm * @param redisTemplate 需要先实习RedisTemplate Bean * @return */ @Bean public org.springframework.cache.CacheManager cacheManager(CacheManager ecm,RedisTemplate<String, String> redisTemplate){ CompositeCacheManager cacheManager = new CompositeCacheManager(); List<org.springframework.cache.CacheManager> managers = new ArrayList<>(); managers.add(new EhCacheCacheManager(ecm)); managers.add(new RedisCacheManager(redisTemplate)); cacheManager.setCacheManagers(managers); return cacheManager; }}
几个注意常用的缓存注解
@Cacheable 首先在缓存中查找,如果没有则执行方法,将方法的返回值存入缓存中
@CachePut 方法始终会被执行 人后将返回值放入缓存中
@CachEvict 删除缓存
@PersistenceContext private EntityManager entityManager; @Override @CachePut(value="spottleCache",key="#result.id") public void add(Spittr spittr) {// entityManager.createNativeQuery ("insert into spittr values(" + spittr.getId() + ",'" + spittr.getName() + "')")// .executeUpdate(); entityManager.persist(spittr); } @Override @Cacheable("spittleCache") public Spittr findMyOne(int id) { System.out.println("查找了"); return entityManager.find(Spittr.class, id); }
1 0
- Spring4 注解方式开启缓存
- spring4 注解开启JAX-WS
- spring4 注解开启JAX-WS
- spring4 注解方式集成mongoDB
- spring4 注解方式集成redis
- spring4配置基于注解的ehcache缓存
- 配置 Spring4.0 注解Cache+Redis缓存
- 配置 Spring4.0 注解Cache+Redis缓存
- Spring4 注解方式 发现注入失败
- spring4声明式事务--01注解方式
- Redis之—— Spring4.0 注解Cache+Redis缓存
- Spring4学习笔记-AOP(基于注解的方式)
- Spring4----使用注解方式配置bean和bean的属性
- spring开启注解的三种方式
- spring security 注解@EnableGlobalMethodSecurity的三种开启注解方式
- spring注解缓存的使用方式
- Hibernate使用Ehcahe利用注解方式缓存
- Spring整合Redis用作缓存-注解方式
- 剑指offer-面试题60-把二叉树打印成多行
- 进程内存分配图
- 获取下个月的日期
- 《大话西游》你真的看懂了吗?
- handler
- Spring4 注解方式开启缓存
- 图解 Android 事件分发机制
- Android四大组件介绍与生命周期
- android技术栈-现有使用的进行一个汇总(初稿)
- 互联网性能与容量评估的方法论和典型案例
- 前度构建工具gulp
- 工厂方法模式
- 164_集合_SortedSet_集合详解_01
- pom版本用原来的正式版本