Java 声明式Spring缓存定制

Java 声明式Spring缓存定制,java,spring,caching,spring-mvc,ehcache,Java,Spring,Caching,Spring Mvc,Ehcache,我在项目中使用基于Spring声明性注释的缓存 applicationContext.xml <cache:annotation-driven /> 此注释包含任何可以自定义行为的spring类定义?请查看org.springframework.cache.annotation.EnableCaching。 查看源代码中的注释 它与相当,但在spring java配置中 您通常需要重写这个类:org.springframework.cache.aspectj.AnnotationC

我在项目中使用基于Spring声明性注释的缓存

applicationContext.xml

<cache:annotation-driven />

此注释包含任何可以自定义行为的spring类定义?

请查看org.springframework.cache.annotation.EnableCaching。 查看源代码中的注释

它与相当,但在spring java配置中

您通常需要重写这个类:org.springframework.cache.aspectj.AnnotationCacheAspect


它负责连接通知。

这个答案引导我走向正确的方向。我发现spring的缓存支持的内部工作原理是,它的依赖关系不是在cacheManager和KeyGenerator实现之外注入的。我想对CacheApectSupport进行子类化/扩展,发现该类首先由CacheInterceptor进行扩展,然后使用类ProxyCachingConfiguration中的新语句创建该类。要替换一个类/方法,需要替换一整列听起来不太适合spring的类(诚然,我可能遗漏了一些东西)

我所期望的是,替换这行代码时会有一组完整列出的Springbean,这些Springbean由所有AOP切入点、建议/方面等组成,它们构成了缓存支持,但这似乎是alål刚刚静态创建的类,它们之间有着紧密的耦合

<cache:annotation-driven />