@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2002 - 2023 the original author or authors .
* Copyright 2002 - 2024 the original author or authors .
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -29,8 +29,8 @@ import org.springframework.lang.Nullable;
@@ -29,8 +29,8 @@ import org.springframework.lang.Nullable;
* cache management .
*
* < p > See @ { @link EnableCaching } for general examples and context ; see
* { @link # cacheManager ( ) } , { @link # cacheResolver ( ) } and { @link # keyGenerator ( ) }
* for detailed instructions .
* { @link # cacheManager ( ) } , { @link # cacheResolver ( ) } , { @link # keyGenerator ( ) } , and
* { @link # errorHandler ( ) } for detailed instructions .
*
* @author Chris Beams
* @author Stephane Nicoll
@ -46,14 +46,15 @@ public interface CachingConfigurer {
@@ -46,14 +46,15 @@ public interface CachingConfigurer {
* management of the cache resolution , consider setting the
* { @link CacheResolver } directly .
* < p > Implementations must explicitly declare
* { @link org . springframework . context . annotation . Bean @Bean } , e . g .
* { @link org . springframework . context . annotation . Bean @Bean } so that
* the cache manager participates in the lifecycle of the context , e . g .
* < pre class = "code" >
* & # 064 ; Configuration
* & # 064 ; EnableCaching
* public class AppConfig implements CachingConfigurer {
* class AppConfig implements CachingConfigurer {
* & # 064 ; Bean // important!
* & # 064 ; Override
* public CacheManager cacheManager ( ) {
* CacheManager cacheManager ( ) {
* // configure and return CacheManager instance
* }
* // ...
@ -70,17 +71,18 @@ public interface CachingConfigurer {
@@ -70,17 +71,18 @@ public interface CachingConfigurer {
* Return the { @link CacheResolver } bean to use to resolve regular caches for
* annotation - driven cache management . This is an alternative and more powerful
* option of specifying the { @link CacheManager } to use .
* < p > If both a { @link # cacheManager ( ) } and { @code # cacheResolver ( ) } are set ,
* < p > If both a { @link # cacheManager ( ) } and { @code cacheResolver ( ) } are set ,
* the cache manager is ignored .
* < p > Implementations must explicitly declare
* { @link org . springframework . context . annotation . Bean @Bean } , e . g .
* { @link org . springframework . context . annotation . Bean @Bean } so that
* the cache resolver participates in the lifecycle of the context , e . g .
* < pre class = "code" >
* & # 064 ; Configuration
* & # 064 ; EnableCaching
* public class AppConfig implements CachingConfigurer {
* class AppConfig implements CachingConfigurer {
* & # 064 ; Bean // important!
* & # 064 ; Override
* public CacheResolver cacheResolver ( ) {
* CacheResolver cacheResolver ( ) {
* // configure and return CacheResolver instance
* }
* // ...
@ -95,20 +97,8 @@ public interface CachingConfigurer {
@@ -95,20 +97,8 @@ public interface CachingConfigurer {
/ * *
* Return the key generator bean to use for annotation - driven cache management .
* Implementations must explicitly declare
* { @link org . springframework . context . annotation . Bean @Bean } , e . g .
* < pre class = "code" >
* & # 064 ; Configuration
* & # 064 ; EnableCaching
* public class AppConfig implements CachingConfigurer {
* & # 064 ; Bean // important!
* & # 064 ; Override
* public KeyGenerator keyGenerator ( ) {
* // configure and return KeyGenerator instance
* }
* // ...
* }
* < / pre >
* < p > By default , { @link org . springframework . cache . interceptor . SimpleKeyGenerator }
* is used .
* See @ { @link EnableCaching } for more complete examples .
* /
@Nullable
@ -118,22 +108,8 @@ public interface CachingConfigurer {
@@ -118,22 +108,8 @@ public interface CachingConfigurer {
/ * *
* Return the { @link CacheErrorHandler } to use to handle cache - related errors .
* < p > By default , { @link org . springframework . cache . interceptor . SimpleCacheErrorHandler }
* is used and simply throws the exception back at the client .
* < p > Implementations must explicitly declare
* { @link org . springframework . context . annotation . Bean @Bean } , e . g .
* < pre class = "code" >
* & # 064 ; Configuration
* & # 064 ; EnableCaching
* public class AppConfig implements CachingConfigurer {
* & # 064 ; Bean // important!
* & # 064 ; Override
* public CacheErrorHandler errorHandler ( ) {
* // configure and return CacheErrorHandler instance
* }
* // ...
* }
* < / pre >
* < p > By default , { @link org . springframework . cache . interceptor . SimpleCacheErrorHandler }
* is used , which throws the exception back at the client .
* See @ { @link EnableCaching } for more complete examples .
* /
@Nullable