@Target(value={METHOD,TYPE}) @Retention(value=RUNTIME) @Inherited @Documented public @interface Cacheable
The method arguments and signature are used for computing the key while the returned instance is used as the cache value.
Modifier and Type | Required Element and Description |
---|---|
String[] |
value
Name of the caches in which the update takes place.
|
Modifier and Type | Optional Element and Description |
---|---|
String |
condition
Spring Expression Language (SpEL) attribute used for conditioning the method caching.
|
String |
key
Spring Expression Language (SpEL) attribute for computing the key dynamically.
|
String |
unless
Spring Expression Language (SpEL) attribute used to veto method caching.
|
public abstract String[] value
May be used to determine the target cache (or caches), matching the qualifier value (or the bean name(s)) of (a) specific bean definition.
public abstract String key
Default is "", meaning all method parameters are considered as a key.
public abstract String condition
Default is "", meaning the method is always cached.
public abstract String unless
Unlike condition()
, this expression is evaluated after the method
has been called and can therefore refer to the result
. Default is "",
meaning that caching is never vetoed.