# Package org.springframework.cache.annotation

Annotations and supporting classes for declarative cache management.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  CacheAnnotationParser | Strategy interface for parsing known caching annotation types.
  CachingConfigurer | Interface to be implemented by @`Configuration` classes annotated with @`EnableCaching` that wish or need to specify explicitly the `CacheManager` and `KeyGenerator` beans to be used for annotation-driven cache management.

- Class Summary
  Class | Description
  --- | ---
  AbstractCachingConfiguration | Abstract base `@Configuration` class providing common structure for enabling Spring's annotation-driven cache management capability.
  AnnotationCacheOperationSource | Implementation of the `CacheOperationSource` interface for working with caching metadata in annotation format.
  CachingConfigurationSelector | Selects which implementation of `AbstractCachingConfiguration` should be used based on the value of `EnableCaching.mode()` on the importing `@Configuration` class.
  ProxyCachingConfiguration | `@Configuration` class that registers the Spring infrastructure beans necessary to enable proxy-based annotation-driven cache management.
  SpringCacheAnnotationParser | Strategy implementation for parsing Spring's `Caching`, `Cacheable`, `CacheEvict` and `CachePut` annotations.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  Cacheable | Annotation indicating that a method (or all the methods on a class) can be cached.
  CacheEvict | Annotation indicating that a method (or all methods on a class) trigger(s) a cache invalidate operation.
  CachePut | Annotation indicating that a method (or all methods on a class) trigger(s) a `Cache.put(Object, Object)` operation.
  Caching | Group annotation for multiple cache annotations (of different or the same type).
  EnableCaching | Enables Spring's annotation-driven cache management capability, similar to the support found in Spring's `<cache:*>` XML namespace.

## Package org.springframework.cache.annotation Description

Annotations and supporting classes for declarative cache management. Hooked into Spring's cache interception infrastructure via `CacheOperationSource`.