# Uses of Package
org.springframework.aop.aspectj

- Packages that use org.springframework.aop.aspectj
  Package | Description
  --- | ---
  org.springframework.aop.aspectj | AspectJ integration package.
  org.springframework.aop.aspectj.annotation | Classes enabling AspectJ 5 @Annotated classes to be used in Spring AOP.
  org.springframework.aop.config | Support package for declarative AOP configuration, with XML schema being the primary configuration format.

- Classes in org.springframework.aop.aspectj used by org.springframework.aop.aspectj
  Class and Description
  AbstractAspectJAdvice Base class for AOP Alliance `Advice` classes wrapping an AspectJ aspect or an AspectJ-annotated advice method.
  AspectInstanceFactory Interface implemented to provide an instance of an AspectJ aspect.
  AspectJExpressionPointcut Spring `Pointcut` implementation that uses the AspectJ weaver to evaluate a pointcut expression.
  AspectJPrecedenceInformation Interface to be implemented by types that can supply the information needed to sort advice/advisors by AspectJ's precedence rules.

- Classes in org.springframework.aop.aspectj used by org.springframework.aop.aspectj.annotation
  Class and Description
  AspectInstanceFactory Interface implemented to provide an instance of an AspectJ aspect.
  AspectJExpressionPointcut Spring `Pointcut` implementation that uses the AspectJ weaver to evaluate a pointcut expression.
  SimpleAspectInstanceFactory Implementation of `AspectInstanceFactory` that creates a new instance of the specified aspect class for every `SimpleAspectInstanceFactory.getAspectInstance()` call.
  SingletonAspectInstanceFactory Implementation of `AspectInstanceFactory` that is backed by a specified singleton object, returning the same instance for every `SingletonAspectInstanceFactory.getAspectInstance()` call.

- Classes in org.springframework.aop.aspectj used by org.springframework.aop.config
  Class and Description
  AspectInstanceFactory Interface implemented to provide an instance of an AspectJ aspect.