`
kanpiaoxue
  • 浏览: 1780982 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Spring cache 注解功能不起作用的解决方案

 
阅读更多

最近使用spring的cache模块来加速程序,写了很多注解,如: @Cacheable/@CachePut/@CacheEvict/@Caching

发现这些注解根本不起作用啊。赶紧跑去看了看spring的文档,发现缺失了下面内容:

<cache:annotation-driven/> 

之后我的配置文件如下:

 

 

	
<!-- cache start -->
	<cache:annotation-driven cache-manager="cacheManager"/> 
	<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"
		p:cache-manager-ref="ehcache" />

	<!-- EhCache spring library setup -->
	<bean id="ehcache"
		class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
		p:configLocation="classpath:${dmap.console.cache.file}" p:shared="true" />

	<!-- cache end -->

 

参考下面xml添加上cache的schema

<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 />

</beans>

 

 经过添加 <cache:annotation-driven cache-manager="cacheManager"/> 之后我的cache注解能用了。 

 

spring的原文如下:

30.3.6 Enable caching annotations

It is important to note that even though declaring the cache annotations does not automatically trigger their actions - like many things in Spring, the feature has to be declaratively enabled (which means if you ever suspect caching is to blame, you can disable it by removing only one configuration line rather than all the annotations in your code).

To enable caching annotations add the annotation @EnableCaching to one of your @Configuration classes:

@Configuration
@EnableCaching
public class AppConfig {
}

Alternatively for XML configuration use the cache:annotation-driven element:

<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 />

</beans>

 

分享到:
评论
1 楼 youngcoder 2018-12-05  
haohaohao~

相关推荐

    SpringCache与redis集成,优雅的缓存解决方案.docx

    SpringCache是一个基于AOP(Aspect-Oriented Programming)的缓存解决方案,可以自动地为我们实现缓存功能,从而减少了编写模板代码的工作量。 使用SpringCache,我们可以轻松地将缓存功能添加到我们的应用程序中。...

    springboot1.x基于spring注解实现J2Cache两级缓存集成

    J2Cache是一个轻量级、高性能的Java缓存解决方案,它提供了一种统一的方式来管理应用中的缓存。通过集成Ehcache和Redis,我们构建了一个两层缓存系统,其中Ehcache作为本地缓存,而Redis则作为分布式缓存。 一级...

    SpringCache缺陷,我好像有解决方案了.docx

    ### SpringCache 缺陷分析与解决方案探讨 #### 一、SpringCache概述及使用场景 SpringCache作为Spring框架中的一部分,提供了缓存管理的功能,能够帮助开发者轻松地在应用程序中集成缓存逻辑,从而提高系统的响应...

    SSM与memcached整合项目Spring Cache

    Spring Cache是Spring框架的一部分,它提供了一种抽象的缓存管理机制,可以方便地集成到各种缓存解决方案中,如Redis、EhCache以及我们的目标——memcached。下面我们将详细讨论这个整合过程中的关键知识点。 首先...

    Redis整合SpringCache实例

    **Redis整合SpringCache实例** 在现代的Web应用中,数据缓存是提高系统性能的关键技术之一。本示例主要探讨如何将开源的内存数据结构存储系统Redis与Spring Cache框架结合,实现高效的分布式缓存解决方案。Redis以...

    Spring来实现一个Cache简单的解决方案

    ### Spring实现Cache简单解决方案 #### 一、背景与概述 在现代软件开发中,缓存是一种常见的优化手段,用于提高应用程序的性能。Spring框架作为Java领域最流行的开发框架之一,为开发者提供了丰富的缓存管理机制。...

    浅谈SpringCache与redis集成实现缓存解决方案

    "浅谈SpringCache与redis集成实现缓存解决方案" SpringCache是Spring Framework中的一种缓存机制,可以与Redis集成实现缓存解决方案。Redis是一种key-value型数据库,具有高性能、低延迟的特点,广泛应用于缓存...

    Spring cache

    通过上述介绍可以看出,Spring Cache 提供了一种高效、灵活且易于集成的缓存解决方案。相比于自定义缓存管理器,Spring Cache 大大简化了缓存的使用,降低了开发者的负担。开发者可以根据具体需求选择适当的缓存策略...

    spring cache + redis 主从

    Spring Cache是一个抽象层,提供了与缓存技术交互的机制,它与特定的缓存解决方案无关。 1. 依赖配置: - 在项目的pom.xml文件中添加Spring Data Redis的依赖。 2. 配置Spring Cache: - 在Spring的配置文件中...

    springCache

    5. **自定义缓存解决方案**:如果你的项目有特殊需求,可以实现 `CacheManager` 接口来自定义缓存管理逻辑。 接下来,我们将深入到具体的缓存操作: - **首次存入缓存**:当使用 `@Cacheable` 注解的方法被调用时...

    SpringCache+Redis实现高可用缓存解决方案.docx

    ### SpringCache+Redis实现高可用缓存解决方案 #### 前言 在现代软件开发中,缓存技术是提升系统性能的重要手段之一。Spring Boot框架自带的`ConcurrentMapCacheManager`虽然简单易用,但对于分布式环境下的应用来...

    spring-cache.xsd+spring-encache.xsd

    而"spring-encache.xsd"可能是Spring与Ehcache集成的一个特定Schema,Ehcache是一个流行的Java缓存解决方案,常被Spring用来实现本地缓存。 描述中提到的"springmodules-ehcache.xsd"和"springmodules-cache.xsd...

    springcache-1.1.0.zip

    SpringCache是Spring框架的一部分,它提供了一种在应用程序中统一管理和使用缓存的解决方案,使得开发者能够轻松地将缓存机制集成到业务逻辑中。本篇文章将深入探讨SpringCache的原理、配置以及如何结合Redis或...

    SpringCache缓存初探共5页.pdf.zip

    SpringCache是Spring框架提供的一种轻量级的缓存解决方案,旨在简化在应用程序中集成缓存的能力,以提高性能和响应速度。在这个“SpringCache缓存初探共5页.pdf.zip”压缩包中,很可能是对SpringCache的基础知识进行...

    jar包-spring-modules-cache.jar

    而Spring Modules Cache是Spring框架的一个扩展,它提供了一种统一的缓存管理机制,使得开发者能够方便地在Spring应用中集成各种缓存解决方案,如 EhCache、JCS、GemFire等。本文将深入探讨Spring Modules Cache在...

    浅析SpringCache缓存1

    这个抽象层使得我们可以使用不同的缓存解决方案(如 Ehcache、Guava Cache、Redis 等),并且对代码的影响降到最低。 核心概念: 1. **缓存注解**:Spring 提供了多种注解来实现缓存管理。其中,`@Cacheable` 用于...

    Spring + Ehcache 注解形式配置

    在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而Ehcache则是一种广泛使用的缓存解决方案。本文将深入探讨如何在Spring框架中通过注解方式配置Ehcache,以便优化应用程序的性能。 首先,让我们理解...

    Spring基于注解的缓存配置--EHCache AND OSCache

    本篇文章将深入探讨如何使用注解配置Spring与EHCache或OSCache这两个流行的Java缓存解决方案。以下是对该主题的详细阐述: 1. **Spring缓存抽象** Spring 3.1引入了一种统一的缓存抽象,它允许开发者在不关心具体...

    Spring Cache的基本使用与实现原理详解

    Spring Cache 为开发者提供了一个强大的、易于使用的缓存解决方案。通过注解驱动的方式,可以在不修改大量代码的情况下,轻松地在应用程序中集成缓存,提高系统性能。同时,其抽象的层次和丰富的特性使得它可以适应...

Global site tag (gtag.js) - Google Analytics