# Uses of Interface
org.springframework.aop.aspectj.annotation.MetadataAwareAspectInstanceFactory

Packages that use MetadataAwareAspectInstanceFactory
Package
Description
org.springframework.aop.aspectj.annotation
Classes enabling AspectJ 5 @Annotated classes to be used in Spring AOP.

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

Classes in org.springframework.aop.aspectj.annotation that implement MetadataAwareAspectInstanceFactory
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.
Methods in org.springframework.aop.aspectj.annotation with parameters of type MetadataAwareAspectInstanceFactory
Modifier and Type
Method
Description
`Advice`
AspectJAdvisorFactory.`getAdvice(Method candidateAdviceMethod, AspectJExpressionPointcut expressionPointcut, MetadataAwareAspectInstanceFactory aspectInstanceFactory, int declarationOrder, String aspectName)`
Build a Spring AOP Advice for the given AspectJ advice method.
`Advice`
ReflectiveAspectJAdvisorFactory.`getAdvice(Method candidateAdviceMethod, AspectJExpressionPointcut expressionPointcut, MetadataAwareAspectInstanceFactory aspectInstanceFactory, int declarationOrder, String aspectName)`
`Advisor`
AspectJAdvisorFactory.`getAdvisor(Method candidateAdviceMethod, MetadataAwareAspectInstanceFactory aspectInstanceFactory, int declarationOrder, String aspectName)`
Build a Spring AOP Advisor for the given AspectJ advice method.
`Advisor`
ReflectiveAspectJAdvisorFactory.`getAdvisor(Method candidateAdviceMethod, MetadataAwareAspectInstanceFactory aspectInstanceFactory, int declarationOrderInAspect, String aspectName)`
`List<Advisor>`
AspectJAdvisorFactory.`getAdvisors(MetadataAwareAspectInstanceFactory aspectInstanceFactory)`
Build Spring AOP Advisors for all annotated At-AspectJ methods on the specified aspect instance.
`List<Advisor>`
ReflectiveAspectJAdvisorFactory.`getAdvisors(MetadataAwareAspectInstanceFactory aspectInstanceFactory)`
Constructors in org.springframework.aop.aspectj.annotation with parameters of type MetadataAwareAspectInstanceFactory
Modifier
Constructor
Description
``
`LazySingletonAspectInstanceFactoryDecorator(MetadataAwareAspectInstanceFactory maaif)`
Create a new lazily initializing decorator for the given AspectInstanceFactory.
``
`SyntheticInstantiationAdvisor(MetadataAwareAspectInstanceFactory aif)`