## org.springframework.cache.interceptor
Class CacheProxyFactoryBean

    java.lang.Object
      org.springframework.aop.framework.ProxyConfig
          org.springframework.aop.framework.AbstractSingletonProxyFactoryBean
              org.springframework.cache.interceptor.CacheProxyFactoryBean

All Implemented Interfaces:
  Serializable, Aware, BeanClassLoaderAware, FactoryBean<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.

Author:
  Costin Leau
See Also:
  `ProxyFactoryBean`, `CachingInterceptor`, Serialized Form

Constructor Summary
`CacheProxyFactoryBean()`

Method Summary
`protected 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`

Constructor Detail

### CacheProxyFactoryBean

    public CacheProxyFactoryBean()

Method Detail

### setPointcut

    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[])`

### createMainInterceptor

    protected 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`

### setCacheOperationSources

    public void setCacheOperationSources(CacheOperationSource... cacheOperationSources)

  Set the sources used to find cache operations.