@Target(value={METHOD,TYPE}) @Retention(value=RUNTIME) @Inherited @Documented @CacheConfig @Type(value=CacheInterceptor.class) public @interface Cacheable
An annotation that can be applied at the type or method level to indicate that the return value of the method
 should be cached for
 the configured cacheNames().
| Modifier and Type | Optional Element and Description | 
|---|---|
| boolean | atomicWhether an atomic operation should be attempted to retrieve the cache value. | 
| String[] | cacheNamesAlias for  CacheConfig.cacheNames(). | 
| Class<? extends CacheKeyGenerator> | keyGeneratorAlias for  CacheConfig.keyGenerator(). | 
| String[] | parametersLimit the automatic  CacheKeyGeneratorto the given parameter names. | 
| String[] | valueAlias for  CacheConfig.cacheNames(). | 
@AliasFor(member="cacheNames") @AliasFor(annotation=CacheConfig.class,member="cacheNames") public abstract String[] value
CacheConfig.cacheNames().@AliasFor(annotation=CacheConfig.class, member="cacheNames") public abstract String[] cacheNames
CacheConfig.cacheNames().public abstract String[] parameters
CacheKeyGenerator to the given parameter names. Mutually exclusive with
 keyGenerator()@AliasFor(annotation=CacheConfig.class, member="keyGenerator") @InstantiatedMember public abstract Class<? extends CacheKeyGenerator> keyGenerator
CacheConfig.keyGenerator().public abstract boolean atomic
Whether an atomic operation should be attempted to retrieve the cache value. This will call
 SyncCache.get(Object, Class, Supplier) if set to true otherwise
 SyncCache.get(Object, Class) will be called which is non-atomic
Note that atomic operations will pick the first cache name specified and ignore the remaining.