# 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.