# Package org.springframework.aop.aspectj.annotation

Classes enabling AspectJ 5 @Annotated classes to be used in Spring AOP.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  AspectJAdvisorFactory | Interface for factories that can create Spring AOP Advisors from classes annotated with AspectJ annotation syntax.
  MetadataAwareAspectInstanceFactory | Subinterface of `AspectInstanceFactory` that returns `AspectMetadata` associated with AspectJ-annotated classes.

- Class Summary
  Class | Description
  --- | ---
  AbstractAspectJAdvisorFactory | Abstract base class for factories that can create Spring AOP Advisors given AspectJ classes from classes honoring the AspectJ 5 annotation syntax.
  AbstractAspectJAdvisorFactory.AspectJAnnotation<A extends Annotation> | Class modelling an AspectJ annotation, exposing its type enumeration and pointcut String.
  AnnotationAwareAspectJAutoProxyCreator | `AspectJAwareAdvisorAutoProxyCreator` subclass that processes all AspectJ annotation aspects in the current application context, as well as Spring Advisors.
  AspectJProxyFactory | AspectJ-based proxy factory, allowing for programmatic building of proxies which include AspectJ aspects (code style as well Java 5 annotation style).
  AspectMetadata | Metadata for an AspectJ aspect class, with an additional Spring AOP pointcut for the per clause.
  BeanFactoryAspectInstanceFactory | `AspectInstanceFactory` implementation backed by a Spring `BeanFactory`.
  BeanFactoryAspectJAdvisorsBuilder | Helper for retrieving @AspectJ beans from a BeanFactory and building Spring Advisors based on them, for use with auto-proxying.
  LazySingletonAspectInstanceFactoryDecorator | Decorator to cause a `MetadataAwareAspectInstanceFactory` to instantiate only once.
  PrototypeAspectInstanceFactory | AspectInstanceFactory backed by a BeanFactory-provided prototype, enforcing prototype semantics.
  ReflectiveAspectJAdvisorFactory | Factory that can create Spring AOP Advisors given AspectJ classes from classes honoring the AspectJ 5 annotation syntax, using reflection to invoke the corresponding advice methods.
  ReflectiveAspectJAdvisorFactory.SyntheticInstantiationAdvisor | Synthetic advisor that instantiates the aspect.
  SimpleMetadataAwareAspectInstanceFactory | Implementation of `MetadataAwareAspectInstanceFactory` that creates a new instance of the specified aspect class for every `SimpleAspectInstanceFactory.getAspectInstance()` call.
  SingletonMetadataAwareAspectInstanceFactory | Implementation of `MetadataAwareAspectInstanceFactory` that is backed by a specified singleton object, returning the same instance for every `SingletonAspectInstanceFactory.getAspectInstance()` call.

- Enum Summary
  Enum | Description
  --- | ---
  AbstractAspectJAdvisorFactory.AspectJAnnotationType |

- Exception Summary
  Exception | Description
  --- | ---
  NotAnAtAspectException | Extension of AopConfigException thrown when trying to perform an advisor generation operation on a class that is not an AspectJ annotation-style aspect.

## Package org.springframework.aop.aspectj.annotation Description

Classes enabling AspectJ 5 @Annotated classes to be used in Spring AOP.

Normally to be used through an AspectJAutoProxyCreator rather than directly.