# Uses of Interface
org.aopalliance.aop.Advice

Packages that use Advice
Package
Description
org.aopalliance.intercept
The AOP Alliance reflective interception abstraction.
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.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.interceptor
Provides miscellaneous interceptor implementations.
org.springframework.aop.support
Convenience classes for using Spring's AOP API.

## Uses of Advice in org.aopalliance.intercept

Subinterfaces of Advice in org.aopalliance.intercept
Modifier and Type
Interface
Description
`interface`
`ConstructorInterceptor`
Intercepts the construction of a new object.
`interface`
`Interceptor`
This interface represents a generic interceptor.
`interface`
`MethodInterceptor`
Intercepts calls on an interface on its way to the target.

## Uses of Advice in org.springframework.aop

Subinterfaces of Advice in org.springframework.aop
Modifier and Type
Interface
Description
`interface`
`AfterAdvice`
Common marker interface for after advice, such as `AfterReturningAdvice` and `ThrowsAdvice`.
`interface`
`AfterReturningAdvice`
After returning advice is invoked only on normal method return, not if an exception is thrown.
`interface`
`BeforeAdvice`
Common marker interface for before advice, such as `MethodBeforeAdvice`.
`interface`
`DynamicIntroductionAdvice`
Subinterface of AOP Alliance Advice that allows additional interfaces to be implemented by an Advice, and available via a proxy using that interceptor.
`interface`
`IntroductionInterceptor`
Subinterface of AOP Alliance MethodInterceptor that allows additional interfaces to be implemented by the interceptor, and available via a proxy using that interceptor.
`interface`
`MethodBeforeAdvice`
Advice invoked before a method is invoked.
`interface`
`ThrowsAdvice`
Tag interface for throws advice.
Fields in org.springframework.aop declared as Advice
Modifier and Type
Field
Description
`static final Advice`
Advisor.`EMPTY_ADVICE`
Common placeholder for an empty `Advice` to be returned from `Advisor.getAdvice()` if no proper advice has been configured (yet).
Methods in org.springframework.aop that return Advice
Modifier and Type
Method
Description
`Advice`
Advisor.`getAdvice()`
Return the advice part of this aspect.

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

Classes in org.springframework.aop.aspectj that implement Advice
Modifier and Type
Class
Description
`class`
`AbstractAspectJAdvice`
Base class for AOP Alliance `Advice` classes wrapping an AspectJ aspect or an AspectJ-annotated advice method.
`class`
`AspectJAfterAdvice`
Spring AOP advice wrapping an AspectJ after advice method.
`class`
`AspectJAfterReturningAdvice`
Spring AOP advice wrapping an AspectJ after-returning advice method.
`class`
`AspectJAfterThrowingAdvice`
Spring AOP advice wrapping an AspectJ after-throwing advice method.
`class`
`AspectJAroundAdvice`
Spring AOP around advice (MethodInterceptor) that wraps an AspectJ advice method.
`class`
`AspectJMethodBeforeAdvice`
Spring AOP advice that wraps an AspectJ before method.
Methods in org.springframework.aop.aspectj that return Advice
Modifier and Type
Method
Description
`Advice`
AspectJPointcutAdvisor.`getAdvice()`
`Advice`
DeclareParentsAdvisor.`getAdvice()`

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

Methods in org.springframework.aop.aspectj.annotation that return Advice
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)`

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

Methods in org.springframework.aop.framework with parameters of type Advice
Modifier and Type
Method
Description
`void`
Advised.`addAdvice(int pos, Advice advice)`
Add the given AOP Alliance Advice at the specified position in the advice chain.
`void`
Advised.`addAdvice(Advice advice)`
Add the given AOP Alliance advice to the tail of the advice (interceptor) chain.
`void`
AdvisedSupport.`addAdvice(int pos, Advice advice)`
Cannot add introductions this way unless the advice implements IntroductionInfo.
`void`
AdvisedSupport.`addAdvice(Advice advice)`
`boolean`
AdvisedSupport.`adviceIncluded(Advice advice)`
Is the given advice included in any advisor within this proxy configuration?
`int`
Advised.`indexOf(Advice advice)`
Return the index (from 0) of the given AOP Alliance Advice, or -1 if no such advice is an advice for this proxy.
`int`
AdvisedSupport.`indexOf(Advice advice)`
`boolean`
Advised.`removeAdvice(Advice advice)`
Remove the Advisor containing the given advice.
`boolean`
AdvisedSupport.`removeAdvice(Advice advice)`

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

Classes in org.springframework.aop.framework.adapter that implement Advice
Modifier and Type
Class
Description
`class`
`AfterReturningAdviceInterceptor`
Interceptor to wrap an `AfterReturningAdvice`.
`class`
`MethodBeforeAdviceInterceptor`
Interceptor to wrap a `MethodBeforeAdvice`.
`class`
`ThrowsAdviceInterceptor`
Interceptor to wrap an after-throwing advice.
Methods in org.springframework.aop.framework.adapter with parameters of type Advice
Modifier and Type
Method
Description
`boolean`
AdvisorAdapter.`supportsAdvice(Advice advice)`
Does this adapter understand this advice object? Is it valid to invoke the `getInterceptors` method with an Advisor that contains this advice as an argument?

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

Classes in org.springframework.aop.interceptor that implement Advice
Modifier and Type
Class
Description
`class`
`AbstractMonitoringInterceptor`
Base class for monitoring interceptors, such as performance monitors.
`class`
`AbstractTraceInterceptor`
Base `MethodInterceptor` implementation for tracing.
`class`
`AsyncExecutionInterceptor`
AOP Alliance `MethodInterceptor` that processes method invocations asynchronously, using a given `AsyncTaskExecutor`.
`class`
`ConcurrencyThrottleInterceptor`
Interceptor that throttles concurrent access, blocking invocations if a specified concurrency limit is reached.
`class`
`CustomizableTraceInterceptor`
`MethodInterceptor` implementation that allows for highly customizable method-level tracing, using placeholders.
`class`
`DebugInterceptor`
AOP Alliance `MethodInterceptor` that can be introduced in a chain to display verbose information about intercepted invocations to the logger.
`final class`
`ExposeInvocationInterceptor`
Interceptor that exposes the current `MethodInvocation` as a thread-local object.
`class`
`PerformanceMonitorInterceptor`
Simple AOP Alliance `MethodInterceptor` for performance monitoring.
`class`
`SimpleTraceInterceptor`
Simple AOP Alliance `MethodInterceptor` that can be introduced in a chain to display verbose trace information about intercepted method invocations, with method entry and method exit info.

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

Classes in org.springframework.aop.support that implement Advice
Modifier and Type
Class
Description
`class`
`DelegatePerTargetObjectIntroductionInterceptor`
Convenient implementation of the `IntroductionInterceptor` interface.
`class`
`DelegatingIntroductionInterceptor`
Convenient implementation of the `IntroductionInterceptor` interface.
Methods in org.springframework.aop.support that return Advice
Modifier and Type
Method
Description
`Advice`
AbstractBeanFactoryPointcutAdvisor.`getAdvice()`
`Advice`
AbstractGenericPointcutAdvisor.`getAdvice()`
`Advice`
DefaultIntroductionAdvisor.`getAdvice()`
`Advice`
StaticMethodMatcherPointcutAdvisor.`getAdvice()`
Methods in org.springframework.aop.support with parameters of type Advice
Modifier and Type
Method
Description
`void`
AbstractBeanFactoryPointcutAdvisor.`setAdvice(Advice advice)`
Specify a particular instance of the target advice directly, avoiding lazy resolution in `AbstractBeanFactoryPointcutAdvisor.getAdvice()`.
`void`
AbstractGenericPointcutAdvisor.`setAdvice(Advice advice)`
Specify the advice that this advisor should apply.
`void`
StaticMethodMatcherPointcutAdvisor.`setAdvice(Advice advice)`
Constructors in org.springframework.aop.support with parameters of type Advice
Modifier
Constructor
Description
``
`DefaultIntroductionAdvisor(Advice advice)`
Create a DefaultIntroductionAdvisor for the given advice.
``
`DefaultIntroductionAdvisor(Advice advice, IntroductionInfo introductionInfo)`
Create a DefaultIntroductionAdvisor for the given advice.
``
`DefaultPointcutAdvisor(Advice advice)`
Create a DefaultPointcutAdvisor that matches all methods.
``
`DefaultPointcutAdvisor(Pointcut pointcut, Advice advice)`
Create a DefaultPointcutAdvisor, specifying Pointcut and Advice.
``
`NameMatchMethodPointcutAdvisor(Advice advice)`
``
`RegexpMethodPointcutAdvisor(String[] patterns, Advice advice)`
Create a RegexpMethodPointcutAdvisor for the given advice.
``
`RegexpMethodPointcutAdvisor(String pattern, Advice advice)`
Create a RegexpMethodPointcutAdvisor for the given advice.
``
`RegexpMethodPointcutAdvisor(Advice advice)`
Create a RegexpMethodPointcutAdvisor for the given advice.
``
`StaticMethodMatcherPointcutAdvisor(Advice advice)`
Create a new StaticMethodMatcherPointcutAdvisor for the given advice.