## org.springframework.aop.support
Class AbstractBeanFactoryPointcutAdvisor

    java.lang.Object
      org.springframework.aop.support.AbstractPointcutAdvisor
          org.springframework.aop.support.AbstractBeanFactoryPointcutAdvisor

All Implemented Interfaces:
  Serializable, Advisor, PointcutAdvisor, BeanFactoryAware, Ordered

Direct Known Subclasses:
  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:
  `setAdviceBeanName(java.lang.String)`, `DefaultBeanFactoryPointcutAdvisor`, Serialized Form

Field Summary

Fields inherited from interface org.springframework.core.Ordered
`HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

Constructor Summary
`AbstractBeanFactoryPointcutAdvisor()`

Method Summary
`Advice` `getAdvice()` Return the advice part of this aspect.
`String` `getAdviceBeanName()` Return the name of the advice bean that this advisor refers to, if any.
`void` `setAdviceBeanName(String adviceBeanName)` Specify the name of the advice bean that this advisor should refer to.
`void` `setBeanFactory(BeanFactory beanFactory)` Callback that supplies the owning factory to a bean instance.
`String` `toString()`

Methods inherited from class org.springframework.aop.support.AbstractPointcutAdvisor
`equals, getOrder, hashCode, isPerInstance, setOrder`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.springframework.aop.PointcutAdvisor
`getPointcut`

Constructor Detail

### AbstractBeanFactoryPointcutAdvisor

    public AbstractBeanFactoryPointcutAdvisor()

Method Detail

### setAdviceBeanName

    public void setAdviceBeanName(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:
    `getAdvice()`

### getAdviceBeanName

    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:
    `BeanInitializationException`

### 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:
    `MethodInterceptor`, `BeforeAdvice`, `ThrowsAdvice`, `AfterReturningAdvice`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`