# Uses of Interface
org.springframework.aop.aspectj.AspectInstanceFactory

Packages that use AspectInstanceFactory
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.

## Uses of AspectInstanceFactory in org.springframework.aop.aspectj

Classes in org.springframework.aop.aspectj that implement AspectInstanceFactory
Modifier and Type
Class
Description
`class`
`SimpleAspectInstanceFactory`
Implementation of `AspectInstanceFactory` that creates a new instance of the specified aspect class for every `SimpleAspectInstanceFactory.getAspectInstance()` call.
`class`
`SingletonAspectInstanceFactory`
Implementation of `AspectInstanceFactory` that is backed by a specified singleton object, returning the same instance for every `SingletonAspectInstanceFactory.getAspectInstance()` call.
Methods in org.springframework.aop.aspectj that return AspectInstanceFactory
Modifier and Type
Method
Description
`final AspectInstanceFactory`
AbstractAspectJAdvice.`getAspectInstanceFactory()`
Return the factory for aspect instances.
Constructors in org.springframework.aop.aspectj with parameters of type AspectInstanceFactory
Modifier
Constructor
Description
``
`AbstractAspectJAdvice(Method aspectJAdviceMethod, AspectJExpressionPointcut pointcut, AspectInstanceFactory aspectInstanceFactory)`
Create a new AbstractAspectJAdvice for the given advice method.
``
`AspectJAfterAdvice(Method aspectJBeforeAdviceMethod, AspectJExpressionPointcut pointcut, AspectInstanceFactory aif)`
``
`AspectJAfterReturningAdvice(Method aspectJBeforeAdviceMethod, AspectJExpressionPointcut pointcut, AspectInstanceFactory aif)`
``
`AspectJAfterThrowingAdvice(Method aspectJBeforeAdviceMethod, AspectJExpressionPointcut pointcut, AspectInstanceFactory aif)`
``
`AspectJAroundAdvice(Method aspectJAroundAdviceMethod, AspectJExpressionPointcut pointcut, AspectInstanceFactory aif)`
``
`AspectJMethodBeforeAdvice(Method aspectJBeforeAdviceMethod, AspectJExpressionPointcut pointcut, AspectInstanceFactory aif)`

## Uses of AspectInstanceFactory in org.springframework.aop.aspectj.annotation

Subinterfaces of AspectInstanceFactory in org.springframework.aop.aspectj.annotation
Modifier and Type
Interface
Description
`interface`
`MetadataAwareAspectInstanceFactory`
Subinterface of `AspectInstanceFactory` that returns `AspectMetadata` associated with AspectJ-annotated classes.
Classes in org.springframework.aop.aspectj.annotation that implement AspectInstanceFactory
Modifier and Type
Class
Description
`class`
`BeanFactoryAspectInstanceFactory`
`AspectInstanceFactory` implementation backed by a Spring `BeanFactory`.
`class`
`LazySingletonAspectInstanceFactoryDecorator`
Decorator to cause a `MetadataAwareAspectInstanceFactory` to instantiate only once.
`class`
`PrototypeAspectInstanceFactory`
`AspectInstanceFactory` backed by a `BeanFactory`-provided prototype, enforcing prototype semantics.
`class`
`SimpleMetadataAwareAspectInstanceFactory`
Implementation of `MetadataAwareAspectInstanceFactory` that creates a new instance of the specified aspect class for every `SimpleAspectInstanceFactory.getAspectInstance()` call.
`class`
`SingletonMetadataAwareAspectInstanceFactory`
Implementation of `MetadataAwareAspectInstanceFactory` that is backed by a specified singleton object, returning the same instance for every `SingletonAspectInstanceFactory.getAspectInstance()` call.

## Uses of AspectInstanceFactory in org.springframework.aop.config

Classes in org.springframework.aop.config that implement AspectInstanceFactory
Modifier and Type
Class
Description
`class`
`SimpleBeanFactoryAwareAspectInstanceFactory`
Implementation of `AspectInstanceFactory` that locates the aspect from the `BeanFactory` using a configured bean name.