org.springframework.aop

## Interface Advisor

- All Known Subinterfaces:
    InstantiationModelAwarePointcutAdvisor, IntroductionAdvisor, PointcutAdvisor
  All Known Implementing Classes:
    AbstractBeanFactoryPointcutAdvisor, AbstractGenericPointcutAdvisor, AbstractPointcutAdvisor, AspectJExpressionPointcutAdvisor, AspectJPointcutAdvisor, AsyncAnnotationAdvisor, BeanFactoryCacheOperationSourceAdvisor, BeanFactoryJCacheOperationSourceAdvisor, BeanFactoryTransactionAttributeSourceAdvisor, DeclareParentsAdvisor, DefaultBeanFactoryPointcutAdvisor, DefaultIntroductionAdvisor, DefaultPointcutAdvisor, NameMatchMethodPointcutAdvisor, PersistenceExceptionTranslationAdvisor, ReflectiveAspectJAdvisorFactory.SyntheticInstantiationAdvisor, RegexpMethodPointcutAdvisor, StaticMethodMatcherPointcutAdvisor, TransactionAttributeSourceAdvisor

      public interface Advisor

  Base interface holding AOP advice (action to take at a joinpoint) and a filter determining the applicability of the advice (such as a pointcut). This interface is not for use by Spring users, but to allow for commonality in support for different types of advice.

  Spring AOP is based around around advice delivered via method interception, compliant with the AOP Alliance interception API. The Advisor interface allows support for different types of advice, such as before and after advice, which need not be implemented using interception.

  Author:
    Rod Johnson, Juergen Hoeller

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Advice` | `EMPTY_ADVICE` Common placeholder for an empty `Advice` to be returned from `getAdvice()` if no proper advice has been configured (yet).

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Advice` | `getAdvice()` Return the advice part of this aspect.
    `boolean` | `isPerInstance()` Return whether this advice is associated with a particular instance (for example, creating a mixin) or shared with all instances of the advised class obtained from the same Spring bean factory.

- - ### Field Detail

    - #### EMPTY_ADVICE

          static final Advice EMPTY_ADVICE

      Common placeholder for an empty `Advice` to be returned from `getAdvice()` if no proper advice has been configured (yet).
      Since:
        5.0

  - ### Method Detail

    - #### getAdvice

          Advice getAdvice()

      Return the advice part of this aspect. An advice may be an interceptor, a before advice, a throws advice, etc.
      Returns:
        the advice that should apply if the pointcut matches
      See Also:
        `MethodInterceptor`, `BeforeAdvice`, `ThrowsAdvice`, `AfterReturningAdvice`

    - #### isPerInstance

          boolean isPerInstance()

      Return whether this advice is associated with a particular instance (for example, creating a mixin) or shared with all instances of the advised class obtained from the same Spring bean factory.

      Note that this method is not currently used by the framework. Typical Advisor implementations always return `true`. Use singleton/prototype bean definitions or appropriate programmatic proxy creation to ensure that Advisors have the correct lifecycle model.

      Returns:
        whether this advice is associated with a particular target instance