## 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.
  org.springframework.cache.interceptor | AOP-based solution for declarative caching demarcation.
  org.springframework.cache.jcache.interceptor | AOP-based solution for declarative caching demarcation using JSR-107 annotations.
  org.springframework.context.event | Support classes for application events, like standard context events.
  org.springframework.dao.annotation | Annotation support for DAOs.
  org.springframework.dao.support | Support classes for DAO implementations, providing miscellaneous utility methods.
  org.springframework.ejb.access | This package contains classes that allow easy access to EJBs.
  org.springframework.jms.remoting | Remoting classes for transparent Java-to-Java remoting via a JMS provider.
  org.springframework.jmx.access | Provides support for accessing remote MBean resources.
  org.springframework.orm.hibernate5.support | Classes supporting the `org.springframework.orm.hibernate5` package.
  org.springframework.remoting.caucho | This package provides remoting classes for Caucho's Hessian protocol: a proxy factory for accessing Hessian services, and an exporter for making beans available to Hessian clients.
  org.springframework.remoting.httpinvoker | Remoting classes for transparent Java-to-Java remoting via HTTP invokers.
  org.springframework.remoting.jaxws | Remoting classes for Web Services via JAX-WS (the successor of JAX-RPC), as included in Java 6 and Java EE 5.
  org.springframework.remoting.rmi | Remoting classes for conventional RMI and transparent remoting via RMI invokers.
  org.springframework.remoting.support | Generic support classes for remoting implementations.
  org.springframework.scheduling.annotation | Annotation support for asynchronous method execution.
  org.springframework.transaction.interceptor | AOP-based solution for declarative transaction demarcation.
  org.springframework.validation.beanvalidation | Support classes for integrating a JSR-303 Bean Validation provider (such as Hibernate Validator) into a Spring ApplicationContext and in particular with Spring's data binding and validation APIs.

- - ### Uses of Advice in org.aopalliance.intercept

    Subinterfaces of Advice in org.aopalliance.intercept
    Modifier and Type | Interface and 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 and 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 and Description
    --- | ---
    `static 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 and 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 and 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 and 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 and 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 and Description
    --- | ---
    `void` | AdvisedSupport.`addAdvice(Advice advice)`
    `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` | Advised.`addAdvice(int pos, Advice advice)` Add the given AOP Alliance Advice at the specified position in the advice chain.
    `boolean` | AdvisedSupport.`adviceIncluded(Advice advice)` Is the given advice included in any advisor within this proxy configuration?
    `int` | AdvisedSupport.`indexOf(Advice advice)`
    `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.
    `boolean` | AdvisedSupport.`removeAdvice(Advice advice)`
    `boolean` | Advised.`removeAdvice(Advice advice)` Remove the Advisor containing the given advice.

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

    Classes in org.springframework.aop.framework.adapter that implement Advice
    Modifier and Type | Class and 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 and 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 and 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.
    `class` | `ExposeInvocationInterceptor` Interceptor that exposes the current `MethodInvocation` as a thread-local object.
    `class` | `JamonPerformanceMonitorInterceptor` Performance monitor interceptor that uses JAMon library to perform the performance measurement on the intercepted method and output the stats.
    `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 and 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 and Description
    --- | ---
    `Advice` | DefaultIntroductionAdvisor.`getAdvice()`
    `Advice` | AbstractGenericPointcutAdvisor.`getAdvice()`
    `Advice` | AbstractBeanFactoryPointcutAdvisor.`getAdvice()`
    `Advice` | StaticMethodMatcherPointcutAdvisor.`getAdvice()`

    Methods in org.springframework.aop.support with parameters of type Advice
    Modifier and Type | Method and Description
    --- | ---
    `void` | AbstractGenericPointcutAdvisor.`setAdvice(Advice advice)` Specify the advice that this advisor should apply.
    `void` | AbstractBeanFactoryPointcutAdvisor.`setAdvice(Advice advice)` Specify a particular instance of the target advice directly, avoiding lazy resolution in `AbstractBeanFactoryPointcutAdvisor.getAdvice()`.
    `void` | StaticMethodMatcherPointcutAdvisor.`setAdvice(Advice advice)`

    Constructors in org.springframework.aop.support with parameters of type Advice
    Constructor and 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(Advice advice)` Create a RegexpMethodPointcutAdvisor for the given 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.
    `StaticMethodMatcherPointcutAdvisor(Advice advice)` Create a new StaticMethodMatcherPointcutAdvisor for the given advice.

  - ### Uses of Advice in org.springframework.cache.interceptor

    Classes in org.springframework.cache.interceptor that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CacheInterceptor` AOP Alliance MethodInterceptor for declarative cache management using the common Spring caching infrastructure (`Cache`).

  - ### Uses of Advice in org.springframework.cache.jcache.interceptor

    Classes in org.springframework.cache.jcache.interceptor that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JCacheInterceptor` AOP Alliance MethodInterceptor for declarative cache management using JSR-107 caching annotations.

  - ### Uses of Advice in org.springframework.context.event

    Classes in org.springframework.context.event that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `EventPublicationInterceptor` `Interceptor` that publishes an `ApplicationEvent` to all `ApplicationListeners` registered with an `ApplicationEventPublisher` after each successful method invocation.

  - ### Uses of Advice in org.springframework.dao.annotation

    Methods in org.springframework.dao.annotation that return Advice
    Modifier and Type | Method and Description
    --- | ---
    `Advice` | PersistenceExceptionTranslationAdvisor.`getAdvice()`

  - ### Uses of Advice in org.springframework.dao.support

    Classes in org.springframework.dao.support that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PersistenceExceptionTranslationInterceptor` AOP Alliance MethodInterceptor that provides persistence exception translation based on a given PersistenceExceptionTranslator.

  - ### Uses of Advice in org.springframework.ejb.access

    Classes in org.springframework.ejb.access that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractRemoteSlsbInvokerInterceptor` Base class for interceptors proxying remote Stateless Session Beans.
    `class` | `AbstractSlsbInvokerInterceptor` Base class for AOP interceptors invoking local or remote Stateless Session Beans.
    `class` | `LocalSlsbInvokerInterceptor` Invoker for a local Stateless Session Bean.
    `class` | `LocalStatelessSessionProxyFactoryBean` Convenient `FactoryBean` for local Stateless Session Bean (SLSB) proxies.
    `class` | `SimpleRemoteSlsbInvokerInterceptor` Basic invoker for a remote Stateless Session Bean.
    `class` | `SimpleRemoteStatelessSessionProxyFactoryBean` Convenient `FactoryBean` for remote SLSB proxies.

  - ### Uses of Advice in org.springframework.jms.remoting

    Classes in org.springframework.jms.remoting that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JmsInvokerClientInterceptor` Deprecated. as of 5.3 (phasing out serialization-based remoting)
    `class` | `JmsInvokerProxyFactoryBean` Deprecated. as of 5.3 (phasing out serialization-based remoting)

  - ### Uses of Advice in org.springframework.jmx.access

    Classes in org.springframework.jmx.access that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MBeanClientInterceptor` `MethodInterceptor` that routes calls to an MBean running on the supplied `MBeanServerConnection`.
    `class` | `MBeanProxyFactoryBean` Creates a proxy to a managed resource running either locally or remotely.

  - ### Uses of Advice in org.springframework.orm.hibernate5.support

    Classes in org.springframework.orm.hibernate5.support that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `OpenSessionInterceptor` Simple AOP Alliance `MethodInterceptor` implementation that binds a new Hibernate `Session` for each method invocation, if none bound before.

  - ### Uses of Advice in org.springframework.remoting.caucho

    Classes in org.springframework.remoting.caucho that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `HessianClientInterceptor` Deprecated. as of 5.3 (phasing out serialization-based remoting)
    `class` | `HessianProxyFactoryBean` Deprecated. as of 5.3 (phasing out serialization-based remoting)

  - ### Uses of Advice in org.springframework.remoting.httpinvoker

    Classes in org.springframework.remoting.httpinvoker that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `HttpInvokerClientInterceptor` Deprecated. as of 5.3 (phasing out serialization-based remoting)
    `class` | `HttpInvokerProxyFactoryBean` Deprecated. as of 5.3 (phasing out serialization-based remoting)

  - ### Uses of Advice in org.springframework.remoting.jaxws

    Classes in org.springframework.remoting.jaxws that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JaxWsPortClientInterceptor` `MethodInterceptor` for accessing a specific port of a JAX-WS service.
    `class` | `JaxWsPortProxyFactoryBean` `FactoryBean` for a specific port of a JAX-WS service.

  - ### Uses of Advice in org.springframework.remoting.rmi

    Classes in org.springframework.remoting.rmi that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JndiRmiClientInterceptor` Deprecated. as of 5.3 (phasing out serialization-based remoting)
    `class` | `JndiRmiProxyFactoryBean` Deprecated. as of 5.3 (phasing out serialization-based remoting)
    `class` | `RmiClientInterceptor` Deprecated. as of 5.3 (phasing out serialization-based remoting)
    `class` | `RmiProxyFactoryBean` Deprecated. as of 5.3 (phasing out serialization-based remoting)

  - ### Uses of Advice in org.springframework.remoting.support

    Classes in org.springframework.remoting.support that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RemoteInvocationTraceInterceptor` AOP Alliance MethodInterceptor for tracing remote invocations.

  - ### Uses of Advice in org.springframework.scheduling.annotation

    Classes in org.springframework.scheduling.annotation that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AnnotationAsyncExecutionInterceptor` Specialization of `AsyncExecutionInterceptor` that delegates method execution to an `Executor` based on the `Async` annotation.

    Methods in org.springframework.scheduling.annotation that return Advice
    Modifier and Type | Method and Description
    --- | ---
    `protected Advice` | AsyncAnnotationAdvisor.`buildAdvice(Supplier<Executor> executor, Supplier<AsyncUncaughtExceptionHandler> exceptionHandler)`
    `Advice` | AsyncAnnotationAdvisor.`getAdvice()`

  - ### Uses of Advice in org.springframework.transaction.interceptor

    Classes in org.springframework.transaction.interceptor that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `TransactionInterceptor` AOP Alliance MethodInterceptor for declarative transaction management using the common Spring transaction infrastructure (`PlatformTransactionManager`/ `ReactiveTransactionManager`).

    Methods in org.springframework.transaction.interceptor that return Advice
    Modifier and Type | Method and Description
    --- | ---
    `Advice` | TransactionAttributeSourceAdvisor.`getAdvice()`

  - ### Uses of Advice in org.springframework.validation.beanvalidation

    Classes in org.springframework.validation.beanvalidation that implement Advice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MethodValidationInterceptor` An AOP Alliance `MethodInterceptor` implementation that delegates to a JSR-303 provider for performing method-level validation on annotated methods.

    Methods in org.springframework.validation.beanvalidation that return Advice
    Modifier and Type | Method and Description
    --- | ---
    `protected Advice` | MethodValidationPostProcessor.`createMethodValidationAdvice(Validator validator)` Create AOP advice for method validation purposes, to be applied with a pointcut for the specified 'validated' annotation.