Class CacheProxyFactoryBean

  extended by org.springframework.aop.framework.ProxyConfig
      extended by org.springframework.aop.framework.AbstractSingletonProxyFactoryBean
          extended by org.springframework.cache.interceptor.CacheProxyFactoryBean
All Implemented Interfaces:, Aware, BeanClassLoaderAware, FactoryBean<java.lang.Object>, InitializingBean

public class CacheProxyFactoryBean
extends AbstractSingletonProxyFactoryBean

Proxy factory bean for simplified declarative caching handling. This is a convenient alternative to a standard AOP ProxyFactoryBean with a separate CachingInterceptor 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.

Costin Leau
See Also:
ProxyFactoryBean, CachingInterceptor, Serialized Form

Field Summary
private  CacheInterceptor cachingInterceptor
private  Pointcut pointcut
Constructor Summary
Method Summary
protected  java.lang.Object createMainInterceptor()
          Create the "main" interceptor for this proxy factory bean.
 void setCacheOperationSources(CacheOperationSource... cacheOperationSources)
          Set the sources used to find cache operations.
 void setPointcut(Pointcut pointcut)
          Set a pointcut, i.e a bean that can cause conditional invocation of the CacheInterceptor depending on method and attributes passed.
Methods inherited from class org.springframework.aop.framework.AbstractSingletonProxyFactoryBean
afterPropertiesSet, createTargetSource, getObject, getObjectType, isSingleton, setAdvisorAdapterRegistry, setBeanClassLoader, setPostInterceptors, setPreInterceptors, setProxyClassLoader, setProxyInterfaces, setTarget
Methods inherited from class org.springframework.aop.framework.ProxyConfig
copyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail


private final CacheInterceptor cachingInterceptor


private Pointcut pointcut
Constructor Detail


public CacheProxyFactoryBean()
Method Detail


public void setPointcut(Pointcut pointcut)
Set a pointcut, i.e a bean that can cause conditional invocation of the CacheInterceptor depending on method and attributes passed. Note: Additional interceptors are always invoked.

See Also:
AbstractSingletonProxyFactoryBean.setPreInterceptors(java.lang.Object[]), AbstractSingletonProxyFactoryBean.setPostInterceptors(java.lang.Object[])


protected java.lang.Object createMainInterceptor()
Description copied from class: AbstractSingletonProxyFactoryBean
Create the "main" interceptor for this proxy factory bean. Typically an Advisor, but can also be any type of Advice.

Pre-interceptors will be applied before, post-interceptors will be applied after this interceptor.

Specified by:
createMainInterceptor in class AbstractSingletonProxyFactoryBean


public void setCacheOperationSources(CacheOperationSource... cacheOperationSources)
Set the sources used to find cache operations.