Class AbstractBeanFactoryPointcutAdvisor

java.lang.Object
org.springframework.aop.support.AbstractPointcutAdvisor
org.springframework.aop.support.AbstractBeanFactoryPointcutAdvisor
All Implemented Interfaces:
Serializable, Advisor, PointcutAdvisor, Aware, BeanFactoryAware, Ordered
Direct Known Subclasses:
BeanFactoryCacheOperationSourceAdvisor, BeanFactoryJCacheOperationSourceAdvisor, BeanFactoryTransactionAttributeSourceAdvisor, DefaultBeanFactoryPointcutAdvisor

public abstract class AbstractBeanFactoryPointcutAdvisor extends AbstractPointcutAdvisor implements BeanFactoryAware
Abstract BeanFactory-based PointcutAdvisor that allows for any Advice to be configured as reference to an Advice bean in a BeanFactory.

Specifying the name of an advice bean instead of the advice object itself (if running within a BeanFactory) increases loose coupling at initialization time, in order to not initialize the advice object until the pointcut actually matches.

Since:
2.0.2
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • AbstractBeanFactoryPointcutAdvisor

      public AbstractBeanFactoryPointcutAdvisor()
  • Method Details

    • setAdviceBeanName

      public void setAdviceBeanName(@Nullable String adviceBeanName)
      Specify the name of the advice bean that this advisor should refer to.

      An instance of the specified bean will be obtained on first access of this advisor's advice. This advisor will only ever obtain at most one single instance of the advice bean, caching the instance for the lifetime of the advisor.

      See Also:
    • getAdviceBeanName

      @Nullable public String getAdviceBeanName()
      Return the name of the advice bean that this advisor refers to, if any.
    • setBeanFactory

      public void setBeanFactory(BeanFactory beanFactory)
      Description copied from interface: BeanFactoryAware
      Callback that supplies the owning factory to a bean instance.

      Invoked after the population of normal bean properties but before an initialization callback such as InitializingBean.afterPropertiesSet() or a custom init-method.

      Specified by:
      setBeanFactory in interface BeanFactoryAware
      Parameters:
      beanFactory - owning BeanFactory (never null). The bean can immediately call methods on the factory.
      See Also:
    • setAdvice

      public void setAdvice(Advice advice)
      Specify a particular instance of the target advice directly, avoiding lazy resolution in getAdvice().
      Since:
      3.1
    • getAdvice

      public Advice getAdvice()
      Description copied from interface: Advisor
      Return the advice part of this aspect. An advice may be an interceptor, a before advice, a throws advice, etc.
      Specified by:
      getAdvice in interface Advisor
      Returns:
      the advice that should apply if the pointcut matches
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object