Class ReflectiveAspectJAdvisorFactory

java.lang.Object
org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactory
org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory
All Implemented Interfaces:
Serializable, AspectJAdvisorFactory

public class ReflectiveAspectJAdvisorFactory extends AbstractAspectJAdvisorFactory implements Serializable
Factory that can create Spring AOP Advisors given AspectJ classes from classes honoring AspectJ's annotation syntax, using reflection to invoke the corresponding advice methods.
Since:
2.0
Author:
Rod Johnson, Adrian Colyer, Juergen Hoeller, Ramnivas Laddad, Phillip Webb, Sam Brannen
See Also:
  • Constructor Details

    • ReflectiveAspectJAdvisorFactory

      public ReflectiveAspectJAdvisorFactory()
      Create a new ReflectiveAspectJAdvisorFactory.
    • ReflectiveAspectJAdvisorFactory

      public ReflectiveAspectJAdvisorFactory(@Nullable org.springframework.beans.factory.BeanFactory beanFactory)
      Create a new ReflectiveAspectJAdvisorFactory, propagating the given BeanFactory to the created AspectJExpressionPointcut instances, for bean pointcut handling as well as consistent ClassLoader resolution.
      Parameters:
      beanFactory - the BeanFactory to propagate (may be null}
      Since:
      4.3.6
      See Also:
  • Method Details

    • getAdvisors

      public List<Advisor> getAdvisors(MetadataAwareAspectInstanceFactory aspectInstanceFactory)
      Description copied from interface: AspectJAdvisorFactory
      Build Spring AOP Advisors for all annotated At-AspectJ methods on the specified aspect instance.
      Specified by:
      getAdvisors in interface AspectJAdvisorFactory
      Parameters:
      aspectInstanceFactory - the aspect instance factory (not the aspect instance itself in order to avoid eager instantiation)
      Returns:
      a list of advisors for this class
    • getAdvisor

      @Nullable public Advisor getAdvisor(Method candidateAdviceMethod, MetadataAwareAspectInstanceFactory aspectInstanceFactory, int declarationOrderInAspect, String aspectName)
      Description copied from interface: AspectJAdvisorFactory
      Build a Spring AOP Advisor for the given AspectJ advice method.
      Specified by:
      getAdvisor in interface AspectJAdvisorFactory
      Parameters:
      candidateAdviceMethod - the candidate advice method
      aspectInstanceFactory - the aspect instance factory
      declarationOrderInAspect - the declaration order within the aspect
      aspectName - the name of the aspect
      Returns:
      null if the method is not an AspectJ advice method or if it is a pointcut that will be used by other advice but will not create a Spring advice in its own right
    • getAdvice

      @Nullable public Advice getAdvice(Method candidateAdviceMethod, AspectJExpressionPointcut expressionPointcut, MetadataAwareAspectInstanceFactory aspectInstanceFactory, int declarationOrder, String aspectName)
      Description copied from interface: AspectJAdvisorFactory
      Build a Spring AOP Advice for the given AspectJ advice method.
      Specified by:
      getAdvice in interface AspectJAdvisorFactory
      Parameters:
      candidateAdviceMethod - the candidate advice method
      expressionPointcut - the AspectJ expression pointcut
      aspectInstanceFactory - the aspect instance factory
      declarationOrder - the declaration order within the aspect
      aspectName - the name of the aspect
      Returns:
      null if the method is not an AspectJ advice method or if it is a pointcut that will be used by other advice but will not create a Spring advice in its own right
      See Also: