# 程序包org.springframework.cache.interceptor的分层结构

程序包分层结构:

- 所有程序包

## 类分层结构

- java.lang.Object
  - org.springframework.cache.interceptor.AbstractCacheInvoker
    - org.springframework.cache.interceptor.CacheAspectSupport (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.SmartInitializingSingleton)
      - org.springframework.cache.interceptor.CacheInterceptor (implements org.aopalliance.intercept.MethodInterceptor, java.io.Serializable)
  - org.springframework.cache.interceptor.AbstractCacheResolver (implements org.springframework.cache.interceptor.CacheResolver, org.springframework.beans.factory.InitializingBean)
    - org.springframework.cache.interceptor.NamedCacheResolver
    - org.springframework.cache.interceptor.SimpleCacheResolver
  - org.springframework.cache.interceptor.AbstractFallbackCacheOperationSource (implements org.springframework.cache.interceptor.CacheOperationSource)
  - org.springframework.aop.support.AbstractPointcutAdvisor (implements org.springframework.core.Ordered, org.springframework.aop.PointcutAdvisor, java.io.Serializable)
    - org.springframework.aop.support.AbstractBeanFactoryPointcutAdvisor (implements org.springframework.beans.factory.BeanFactoryAware)
      - org.springframework.cache.interceptor.BeanFactoryCacheOperationSourceAdvisor
  - org.springframework.cache.interceptor.CacheAspectSupport.CacheOperationContext (implements org.springframework.cache.interceptor.CacheOperationInvocationContext<O>)
  - org.springframework.cache.interceptor.CacheAspectSupport.CacheOperationMetadata
  - org.springframework.cache.interceptor.CacheOperation (implements org.springframework.cache.interceptor.BasicOperation)
    - org.springframework.cache.interceptor.CacheableOperation
    - org.springframework.cache.interceptor.CacheEvictOperation
    - org.springframework.cache.interceptor.CachePutOperation
  - org.springframework.cache.interceptor.CacheOperation.Builder
    - org.springframework.cache.interceptor.CacheableOperation.Builder
    - org.springframework.cache.interceptor.CacheEvictOperation.Builder
    - org.springframework.cache.interceptor.CachePutOperation.Builder
  - org.springframework.cache.interceptor.CompositeCacheOperationSource (implements org.springframework.cache.interceptor.CacheOperationSource, java.io.Serializable)
  - org.springframework.cache.interceptor.NameMatchCacheOperationSource (implements org.springframework.cache.interceptor.CacheOperationSource, java.io.Serializable)
  - org.springframework.aop.framework.ProxyConfig (implements java.io.Serializable)
    - org.springframework.aop.framework.AbstractSingletonProxyFactoryBean (implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)
      - org.springframework.cache.interceptor.CacheProxyFactoryBean (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.SmartInitializingSingleton)
  - org.springframework.cache.interceptor.SimpleCacheErrorHandler (implements org.springframework.cache.interceptor.CacheErrorHandler)
  - org.springframework.cache.interceptor.SimpleKey (implements java.io.Serializable)
  - org.springframework.cache.interceptor.SimpleKeyGenerator (implements org.springframework.cache.interceptor.KeyGenerator)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.springframework.cache.interceptor.CacheOperationInvoker.ThrowableWrapper

## 接口分层结构

- org.springframework.cache.interceptor.BasicOperation
- org.springframework.cache.interceptor.CacheErrorHandler
- org.springframework.cache.interceptor.CacheOperationInvocationContext<O>
- org.springframework.cache.interceptor.CacheOperationInvoker
- org.springframework.cache.interceptor.CacheOperationSource
- org.springframework.cache.interceptor.CacheResolver
- org.springframework.cache.interceptor.KeyGenerator