public class CacheProxyFactoryBean extends AbstractSingletonProxyFactoryBean implements BeanFactoryAware, SmartInitializingSingleton
ProxyFactoryBean
 with a separate CacheInterceptor definition.
 This class is designed to facilitate declarative cache demarcation: namely, wrapping
 a singleton target object with a caching proxy, proxying all the interfaces that the
 target implements. Exists primarily for third-party framework integration.
 Users should favor the cache: XML namespace
 @Cacheable annotation.
 See the
 declarative annotation-based caching
 section of the Spring reference documentation for more information.
ProxyFactoryBean, 
CacheInterceptor, 
Serialized FormOBJECT_TYPE_ATTRIBUTE| Constructor and Description | 
|---|
| CacheProxyFactoryBean() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | afterSingletonsInstantiated()Invoked right at the end of the singleton pre-instantiation phase,
 with a guarantee that all regular singleton beans have been created
 already. | 
| protected Object | createMainInterceptor()Create the "main" interceptor for this proxy factory bean. | 
| void | setBeanFactory(BeanFactory beanFactory)Callback that supplies the owning factory to a bean instance. | 
| void | setCacheManager(CacheManager cacheManager)Set the  CacheManagerto use to create a defaultCacheResolver. | 
| void | setCacheOperationSources(CacheOperationSource... cacheOperationSources)Set one or more sources to find cache operations. | 
| void | setCacheResolver(CacheResolver cacheResolver)Set the default  CacheResolverthat this cache aspect should delegate
 to if no specific cache resolver has been set for the operation. | 
| void | setKeyGenerator(KeyGenerator keyGenerator)Set the default  KeyGeneratorthat this cache aspect should delegate to
 if no specific key generator has been set for the operation. | 
| void | setPointcut(Pointcut pointcut)Set a pointcut, i.e. | 
afterPropertiesSet, createTargetSource, getObject, getObjectType, isSingleton, postProcessProxyFactory, setAdvisorAdapterRegistry, setBeanClassLoader, setPostInterceptors, setPreInterceptors, setProxyClassLoader, setProxyInterfaces, setTargetcopyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass, toStringpublic void setCacheOperationSources(CacheOperationSource... cacheOperationSources)
public void setKeyGenerator(KeyGenerator keyGenerator)
KeyGenerator that this cache aspect should delegate to
 if no specific key generator has been set for the operation.
 The default is a SimpleKeyGenerator.
CacheAspectSupport.setKeyGenerator(org.springframework.cache.interceptor.KeyGenerator)public void setCacheResolver(CacheResolver cacheResolver)
CacheResolver that this cache aspect should delegate
 to if no specific cache resolver has been set for the operation.
 The default resolver resolves the caches against their names and the default cache manager.
CacheAspectSupport.setCacheResolver(org.springframework.cache.interceptor.CacheResolver)public void setCacheManager(CacheManager cacheManager)
CacheManager to use to create a default CacheResolver.
 Replace the current CacheResolver, if any.CacheAspectSupport.setCacheManager(org.springframework.cache.CacheManager)public void setPointcut(Pointcut pointcut)
CacheInterceptor depending on the method and attributes passed.
 Note: Additional interceptors are always invoked.
public void setBeanFactory(BeanFactory beanFactory)
BeanFactoryAwareInvoked after the population of normal bean properties
 but before an initialization callback such as
 InitializingBean.afterPropertiesSet() or a custom init-method.
setBeanFactory in interface BeanFactoryAwarebeanFactory - owning BeanFactory (never null).
 The bean can immediately call methods on the factory.BeanInitializationExceptionpublic void afterSingletonsInstantiated()
SmartInitializingSingletonListableBeanFactory.getBeansOfType(java.lang.Class<T>) calls within
 this method won't trigger accidental side effects during bootstrap.
 NOTE: This callback won't be triggered for singleton beans
 lazily initialized on demand after BeanFactory bootstrap,
 and not for any other bean scope either. Carefully use it for beans
 with the intended bootstrap semantics only.
afterSingletonsInstantiated in interface SmartInitializingSingletonprotected Object createMainInterceptor()
AbstractSingletonProxyFactoryBeanPre-interceptors will be applied before, post-interceptors will be applied after this interceptor.
createMainInterceptor in class AbstractSingletonProxyFactoryBean