public class AnnotationCacheOperationSource extends AbstractFallbackCacheOperationSource implements Serializable
CacheOperationSource interface for working with caching metadata in annotation format.
This class reads Spring's Cacheable, CachePut and CacheEvict
annotations and exposes corresponding caching operation definition to Spring's cache
infrastructure. This class may also serve as base class for a custom
CacheOperationSource.
| 限定符和类型 | 类和说明 |
|---|---|
protected static interface |
AnnotationCacheOperationSource.CacheOperationProvider
Callback interface providing
CacheOperation instance(s) based on
a given CacheAnnotationParser. |
logger| 构造器和说明 |
|---|
AnnotationCacheOperationSource()
Create a default AnnotationCacheOperationSource, supporting public methods
that carry the
Cacheable and CacheEvict annotations. |
AnnotationCacheOperationSource(boolean publicMethodsOnly)
Create a default
AnnotationCacheOperationSource, supporting public methods
that carry the Cacheable and CacheEvict annotations. |
AnnotationCacheOperationSource(CacheAnnotationParser... annotationParsers)
Create a custom AnnotationCacheOperationSource.
|
AnnotationCacheOperationSource(CacheAnnotationParser annotationParser)
Create a custom AnnotationCacheOperationSource.
|
AnnotationCacheOperationSource(Set<CacheAnnotationParser> annotationParsers)
Create a custom AnnotationCacheOperationSource.
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected boolean |
allowPublicMethodsOnly()
By default, only public methods can be made cacheable.
|
protected Collection<CacheOperation> |
determineCacheOperations(AnnotationCacheOperationSource.CacheOperationProvider provider)
Determine the cache operation(s) for the given
AnnotationCacheOperationSource.CacheOperationProvider. |
boolean |
equals(Object other) |
protected Collection<CacheOperation> |
findCacheOperations(Class<?> clazz)
Subclasses need to implement this to return the caching attribute for the
given class, if any.
|
protected Collection<CacheOperation> |
findCacheOperations(Method method)
Subclasses need to implement this to return the caching attribute for the
given method, if any.
|
int |
hashCode() |
getCacheKey, getCacheOperationspublic AnnotationCacheOperationSource()
Cacheable and CacheEvict annotations.public AnnotationCacheOperationSource(boolean publicMethodsOnly)
AnnotationCacheOperationSource, supporting public methods
that carry the Cacheable and CacheEvict annotations.publicMethodsOnly - whether to support only annotated public methods
typically for use with proxy-based AOP), or protected/private methods as well
(typically used with AspectJ class weaving)public AnnotationCacheOperationSource(CacheAnnotationParser annotationParser)
annotationParser - the CacheAnnotationParser to usepublic AnnotationCacheOperationSource(CacheAnnotationParser... annotationParsers)
annotationParsers - the CacheAnnotationParser to usepublic AnnotationCacheOperationSource(Set<CacheAnnotationParser> annotationParsers)
annotationParsers - the CacheAnnotationParser to use@Nullable protected Collection<CacheOperation> findCacheOperations(Class<?> clazz)
AbstractFallbackCacheOperationSourcefindCacheOperations 在类中 AbstractFallbackCacheOperationSourceclazz - the class to retrieve the attribute fornull if none@Nullable protected Collection<CacheOperation> findCacheOperations(Method method)
AbstractFallbackCacheOperationSourcefindCacheOperations 在类中 AbstractFallbackCacheOperationSourcemethod - the method to retrieve the attribute fornull if none@Nullable protected Collection<CacheOperation> determineCacheOperations(AnnotationCacheOperationSource.CacheOperationProvider provider)
AnnotationCacheOperationSource.CacheOperationProvider.
This implementation delegates to configured
CacheAnnotationParsers
for parsing known annotations into Spring's metadata attribute class.
Can be overridden to support custom annotations that carry caching metadata.
provider - the cache operation provider to usenull if none foundprotected boolean allowPublicMethodsOnly()