Package 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
,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:
setAdviceBeanName(java.lang.String)
,DefaultBeanFactoryPointcutAdvisor
, Serialized Form
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor Summary
Constructors Constructor Description AbstractBeanFactoryPointcutAdvisor()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
setAdvice(Advice advice)
Specify a particular instance of the target advice directly, avoiding lazy resolution ingetAdvice()
.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 interfaceBeanFactoryAware
- Parameters:
beanFactory
- owning BeanFactory (nevernull
). The bean can immediately call methods on the factory.- See Also:
BeanInitializationException
setAdvice
public void setAdvice(Advice advice)
Specify a particular instance of the target advice directly, avoiding lazy resolution ingetAdvice()
.- 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 interfaceAdvisor
- Returns:
- the advice that should apply if the pointcut matches
- See Also:
MethodInterceptor
,BeforeAdvice
,ThrowsAdvice
,AfterReturningAdvice