# Hierarchy For Package org.springframework.aop.aspectj.annotation

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactory (implements org.springframework.aop.aspectj.annotation.AspectJAdvisorFactory)
    - org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory
  - org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactory.AspectJAnnotation<A>
  - org.springframework.aop.support.AbstractPointcutAdvisor (implements org.springframework.core.Ordered, org.springframework.aop.PointcutAdvisor, java.io.Serializable)
    - org.springframework.aop.support.AbstractGenericPointcutAdvisor
      - org.springframework.aop.support.DefaultPointcutAdvisor (implements java.io.Serializable)
        - org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory.SyntheticInstantiationAdvisor
  - org.springframework.aop.aspectj.annotation.AspectMetadata
  - org.springframework.aop.aspectj.annotation.BeanFactoryAspectInstanceFactory (implements org.springframework.aop.aspectj.annotation.MetadataAwareAspectInstanceFactory)
    - org.springframework.aop.aspectj.annotation.PrototypeAspectInstanceFactory
  - org.springframework.aop.aspectj.annotation.BeanFactoryAspectJAdvisorsBuilder
  - org.springframework.aop.aspectj.annotation.LazySingletonAspectInstanceFactoryDecorator (implements org.springframework.aop.aspectj.annotation.MetadataAwareAspectInstanceFactory)
  - org.springframework.aop.framework.ProxyConfig (implements java.io.Serializable)
    - org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator (implements org.springframework.aop.framework.AopInfrastructureBean, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.core.Ordered, org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor)
      - org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator
        - org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator
          - org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator
    - org.springframework.aop.framework.AdvisedSupport (implements org.springframework.aop.framework.Advised)
      - org.springframework.aop.framework.ProxyCreatorSupport
        - org.springframework.aop.aspectj.annotation.AspectJProxyFactory
  - org.springframework.aop.aspectj.SimpleAspectInstanceFactory (implements org.springframework.aop.aspectj.AspectInstanceFactory)
    - org.springframework.aop.aspectj.annotation.SimpleMetadataAwareAspectInstanceFactory (implements org.springframework.aop.aspectj.annotation.MetadataAwareAspectInstanceFactory)
  - org.springframework.aop.aspectj.SingletonAspectInstanceFactory (implements org.springframework.aop.aspectj.AspectInstanceFactory)
    - org.springframework.aop.aspectj.annotation.SingletonMetadataAwareAspectInstanceFactory (implements org.springframework.aop.aspectj.annotation.MetadataAwareAspectInstanceFactory)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.springframework.core.NestedRuntimeException
          - org.springframework.aop.framework.AopConfigException
            - org.springframework.aop.aspectj.annotation.NotAnAtAspectException

## Interface Hierarchy

- org.springframework.aop.aspectj.annotation.AspectJAdvisorFactory
- org.springframework.core.Ordered
  - org.springframework.aop.aspectj.AspectInstanceFactory
    - org.springframework.aop.aspectj.annotation.MetadataAwareAspectInstanceFactory

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactory.AspectJAnnotationType