# Uses of Interface
org.springframework.aop.Advisor

Packages that use Advisor
Package
Description
org.springframework.aop
Core Spring AOP interfaces, built on AOP Alliance AOP interoperability interfaces.
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.aspectj.autoproxy
Base classes enabling auto-proxying based on AspectJ.
org.springframework.aop.framework
Package containing Spring's basic AOP infrastructure, compliant with the AOP Alliance interfaces.
org.springframework.aop.framework.adapter
SPI package allowing Spring AOP framework to handle arbitrary advice types.
org.springframework.aop.framework.autoproxy
Bean post-processors for use in ApplicationContexts to simplify AOP usage by automatically creating AOP proxies without the need to use a ProxyFactoryBean.
org.springframework.aop.interceptor
Provides miscellaneous interceptor implementations.
org.springframework.aop.support
Convenience classes for using Spring's AOP API.

## Uses of Advisor in org.springframework.aop

Subinterfaces of Advisor in org.springframework.aop
Modifier and Type
Interface
Description
`interface`
`IntroductionAdvisor`
Superinterface for advisors that perform one or more AOP introductions.
`interface`
`PointcutAdvisor`
Superinterface for all Advisors that are driven by a pointcut.

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

Subinterfaces of Advisor in org.springframework.aop.aspectj
Modifier and Type
Interface
Description
`interface`
`InstantiationModelAwarePointcutAdvisor`
Interface to be implemented by Spring AOP Advisors wrapping AspectJ aspects that may have a lazy initialization strategy.
Classes in org.springframework.aop.aspectj that implement Advisor
Modifier and Type
Class
Description
`class`
`AspectJExpressionPointcutAdvisor`
Spring AOP Advisor that can be used for any AspectJ pointcut expression.
`class`
`AspectJPointcutAdvisor`
`AspectJPointcutAdvisor` adapts an `AbstractAspectJAdvice` to the `PointcutAdvisor` interface.
`class`
`DeclareParentsAdvisor`
Introduction advisor delegating to the given object.
Methods in org.springframework.aop.aspectj with parameters of type Advisor
Modifier and Type
Method
Description
`static AspectJPrecedenceInformation`
AspectJAopUtils.`getAspectJPrecedenceInformationFor(Advisor anAdvisor)`
Return the AspectJPrecedenceInformation provided by this advisor or its advice.
`static boolean`
AspectJAopUtils.`isAfterAdvice(Advisor anAdvisor)`
Return `true` if the advisor is a form of after advice.
`static boolean`
AspectJAopUtils.`isBeforeAdvice(Advisor anAdvisor)`
Return `true` if the advisor is a form of before advice.
Method parameters in org.springframework.aop.aspectj with type arguments of type Advisor
Modifier and Type
Method
Description
`static boolean`
AspectJProxyUtils.`makeAdvisorChainAspectJCapableIfNecessary(List<Advisor> advisors)`
Add special advisors if necessary to work with a proxy chain that contains AspectJ advisors: concretely, `ExposeInvocationInterceptor` at the beginning of the list.

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

Classes in org.springframework.aop.aspectj.annotation that implement Advisor
Modifier and Type
Class
Description
`protected static class`
`ReflectiveAspectJAdvisorFactory.SyntheticInstantiationAdvisor`
Synthetic advisor that instantiates the aspect.
Methods in org.springframework.aop.aspectj.annotation that return Advisor
Modifier and Type
Method
Description
`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)`
Methods in org.springframework.aop.aspectj.annotation that return types with arguments of type Advisor
Modifier and Type
Method
Description
`List<Advisor>`
BeanFactoryAspectJAdvisorsBuilder.`buildAspectJAdvisors()`
Look for AspectJ-annotated aspect beans in the current bean factory, and return to a list of Spring AOP Advisors representing them.
`protected List<Advisor>`
AnnotationAwareAspectJAutoProxyCreator.`findCandidateAdvisors()`
`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)`

## Uses of Advisor in org.springframework.aop.aspectj.autoproxy

Methods in org.springframework.aop.aspectj.autoproxy that return types with arguments of type Advisor
Modifier and Type
Method
Description
`protected List<Advisor>`
AspectJAwareAdvisorAutoProxyCreator.`sortAdvisors(List<Advisor> advisors)`
Sort the supplied `Advisor` instances according to AspectJ precedence.
Method parameters in org.springframework.aop.aspectj.autoproxy with type arguments of type Advisor
Modifier and Type
Method
Description
`protected void`
AspectJAwareAdvisorAutoProxyCreator.`extendAdvisors(List<Advisor> candidateAdvisors)`
Add an `ExposeInvocationInterceptor` to the beginning of the advice chain.
`protected List<Advisor>`
AspectJAwareAdvisorAutoProxyCreator.`sortAdvisors(List<Advisor> advisors)`
Sort the supplied `Advisor` instances according to AspectJ precedence.

## Uses of Advisor in org.springframework.aop.framework

Fields in org.springframework.aop.framework declared as Advisor
Modifier and Type
Field
Description
`protected Advisor`
AbstractAdvisingBeanPostProcessor.`advisor`
Methods in org.springframework.aop.framework that return Advisor
Modifier and Type
Method
Description
`Advisor[]`
Advised.`getAdvisors()`
Return the advisors applying to this proxy.
`final Advisor[]`
AdvisedSupport.`getAdvisors()`
Methods in org.springframework.aop.framework that return types with arguments of type Advisor
Modifier and Type
Method
Description
`protected final List<Advisor>`
AdvisedSupport.`getAdvisorsInternal()`
Allows uncontrolled access to the `List` of `Advisors`.
Methods in org.springframework.aop.framework with parameters of type Advisor
Modifier and Type
Method
Description
`void`
Advised.`addAdvisor(int pos, Advisor advisor)`
Add an Advisor at the specified position in the chain.
`void`
Advised.`addAdvisor(Advisor advisor)`
Add an advisor at the end of the advisor chain.
`void`
AdvisedSupport.`addAdvisor(int pos, Advisor advisor)`
`void`
AdvisedSupport.`addAdvisor(Advisor advisor)`
`void`
AdvisedSupport.`addAdvisors(Advisor... advisors)`
Add all the given advisors to this proxy configuration.
`int`
Advised.`indexOf(Advisor advisor)`
Return the index (from 0) of the given advisor, or -1 if no such advisor applies to this proxy.
`int`
AdvisedSupport.`indexOf(Advisor advisor)`
`boolean`
Advised.`removeAdvisor(Advisor advisor)`
Remove the given advisor.
`boolean`
AdvisedSupport.`removeAdvisor(Advisor advisor)`
`boolean`
Advised.`replaceAdvisor(Advisor a, Advisor b)`
Replace the given advisor.
`boolean`
AdvisedSupport.`replaceAdvisor(Advisor a, Advisor b)`
Method parameters in org.springframework.aop.framework with type arguments of type Advisor
Modifier and Type
Method
Description
`void`
AdvisedSupport.`addAdvisors(Collection<Advisor> advisors)`
Add all the given advisors to this proxy configuration.
`protected void`
AdvisedSupport.`copyConfigurationFrom(AdvisedSupport other, TargetSource targetSource, List<Advisor> advisors)`
Copy the AOP configuration from the given `AdvisedSupport` object, but allow substitution of a fresh `TargetSource` and a given interceptor chain.

## Uses of Advisor in org.springframework.aop.framework.adapter

Methods in org.springframework.aop.framework.adapter that return Advisor
Modifier and Type
Method
Description
`Advisor`
AdvisorAdapterRegistry.`wrap(Object advice)`
Return an `Advisor` wrapping the given advice.
`Advisor`
DefaultAdvisorAdapterRegistry.`wrap(Object adviceObject)`
Methods in org.springframework.aop.framework.adapter with parameters of type Advisor
Modifier and Type
Method
Description
`MethodInterceptor`
AdvisorAdapter.`getInterceptor(Advisor advisor)`
Return an AOP Alliance MethodInterceptor exposing the behavior of the given advice to an interception-based AOP framework.
`MethodInterceptor[]`
AdvisorAdapterRegistry.`getInterceptors(Advisor advisor)`
Return an array of AOP Alliance MethodInterceptors to allow use of the given Advisor in an interception-based framework.
`MethodInterceptor[]`
DefaultAdvisorAdapterRegistry.`getInterceptors(Advisor advisor)`

## Uses of Advisor in org.springframework.aop.framework.autoproxy

Methods in org.springframework.aop.framework.autoproxy that return Advisor
Modifier and Type
Method
Description
`protected Advisor[]`
AbstractAutoProxyCreator.`buildAdvisors(String beanName, Object[] specificInterceptors)`
Determine the advisors for the given bean, including the specific interceptors as well as the common interceptor, all adapted to the Advisor interface.
Methods in org.springframework.aop.framework.autoproxy that return types with arguments of type Advisor
Modifier and Type
Method
Description
`List<Advisor>`
BeanFactoryAdvisorRetrievalHelper.`findAdvisorBeans()`
Find all eligible Advisor beans in the current bean factory, ignoring FactoryBeans and excluding beans that are currently in creation.
`protected List<Advisor>`
AbstractAdvisorAutoProxyCreator.`findAdvisorsThatCanApply(List<Advisor> candidateAdvisors, Class<?> beanClass, String beanName)`
Search the given candidate Advisors to find all Advisors that can apply to the specified bean.
`protected List<Advisor>`
AbstractAdvisorAutoProxyCreator.`findCandidateAdvisors()`
Find all candidate Advisors to use in auto-proxying.
`protected List<Advisor>`
AbstractAdvisorAutoProxyCreator.`findEligibleAdvisors(Class<?> beanClass, String beanName)`
Find all eligible Advisors for auto-proxying this class.
`protected List<Advisor>`
AbstractAdvisorAutoProxyCreator.`sortAdvisors(List<Advisor> advisors)`
Sort advisors based on ordering.
Method parameters in org.springframework.aop.framework.autoproxy with type arguments of type Advisor
Modifier and Type
Method
Description
`protected void`
AbstractAdvisorAutoProxyCreator.`extendAdvisors(List<Advisor> candidateAdvisors)`
Extension hook that subclasses can override to register additional Advisors, given the sorted Advisors obtained to date.
`protected List<Advisor>`
AbstractAdvisorAutoProxyCreator.`findAdvisorsThatCanApply(List<Advisor> candidateAdvisors, Class<?> beanClass, String beanName)`
Search the given candidate Advisors to find all Advisors that can apply to the specified bean.
`protected List<Advisor>`
AbstractAdvisorAutoProxyCreator.`sortAdvisors(List<Advisor> advisors)`
Sort advisors based on ordering.

## Uses of Advisor in org.springframework.aop.interceptor

Fields in org.springframework.aop.interceptor declared as Advisor
Modifier and Type
Field
Description
`static final Advisor`
ExposeInvocationInterceptor.`ADVISOR`
Singleton advisor for this class.
Methods in org.springframework.aop.interceptor that return Advisor
Modifier and Type
Method
Description
`static Advisor`
ExposeBeanNameAdvisors.`createAdvisorIntroducingNamedBean(String beanName)`
Create a new advisor that will expose the given bean name, introducing the NamedBean interface to make the bean name accessible without forcing the target object to be aware of this Spring IoC concept.
`static Advisor`
ExposeBeanNameAdvisors.`createAdvisorWithoutIntroduction(String beanName)`
Create a new advisor that will expose the given bean name, with no introduction.

## Uses of Advisor in org.springframework.aop.support

Classes in org.springframework.aop.support that implement Advisor
Modifier and Type
Class
Description
`class`
`AbstractBeanFactoryPointcutAdvisor`
Abstract BeanFactory-based PointcutAdvisor that allows for any Advice to be configured as reference to an Advice bean in a BeanFactory.
`class`
`AbstractGenericPointcutAdvisor`
Abstract generic `PointcutAdvisor` that allows for any `Advice` to be configured.
`class`
`AbstractPointcutAdvisor`
Abstract base class for `PointcutAdvisor` implementations.
`class`
`DefaultBeanFactoryPointcutAdvisor`
Concrete BeanFactory-based PointcutAdvisor that allows for any Advice to be configured as reference to an Advice bean in the BeanFactory, as well as the Pointcut to be configured through a bean property.
`class`
`DefaultIntroductionAdvisor`
Simple `IntroductionAdvisor` implementation that by default applies to any class.
`class`
`DefaultPointcutAdvisor`
Convenient Pointcut-driven Advisor implementation.
`class`
`NameMatchMethodPointcutAdvisor`
Convenient class for name-match method pointcuts that hold an Advice, making them an Advisor.
`class`
`RegexpMethodPointcutAdvisor`
Convenient class for regexp method pointcuts that hold an Advice, making them an `Advisor`.
`class`
`StaticMethodMatcherPointcutAdvisor`
Convenient base class for Advisors that are also static pointcuts.
Methods in org.springframework.aop.support that return types with arguments of type Advisor
Modifier and Type
Method
Description
`static List<Advisor>`
AopUtils.`findAdvisorsThatCanApply(List<Advisor> candidateAdvisors, Class<?> clazz)`
Determine the sublist of the `candidateAdvisors` list that is applicable to the given class.
Methods in org.springframework.aop.support with parameters of type Advisor
Modifier and Type
Method
Description
`static boolean`
AopUtils.`canApply(Advisor advisor, Class<?> targetClass)`
Can the given advisor apply at all on the given class? This is an important test as it can be used to optimize out an advisor for a class.
`static boolean`
AopUtils.`canApply(Advisor advisor, Class<?> targetClass, boolean hasIntroductions)`
Can the given advisor apply at all on the given class?
Method parameters in org.springframework.aop.support with type arguments of type Advisor
Modifier and Type
Method
Description
`static List<Advisor>`
AopUtils.`findAdvisorsThatCanApply(List<Advisor> candidateAdvisors, Class<?> clazz)`
Determine the sublist of the `candidateAdvisors` list that is applicable to the given class.