Class AbstractBeanFactoryBasedTargetSource
java.lang.Object
org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource
- All Implemented Interfaces:
- Serializable, TargetClassAware, TargetSource, Aware, BeanFactoryAware
- Direct Known Subclasses:
- AbstractPrototypeBasedTargetSource, LazyInitTargetSource, SimpleBeanTargetSource
public abstract class AbstractBeanFactoryBasedTargetSource
extends Object
implements TargetSource, BeanFactoryAware, Serializable
Base class for 
TargetSource implementations
that are based on a Spring BeanFactory,
delegating to Spring-managed bean instances.
Subclasses can create prototype instances or lazily access a
singleton target, for example. See LazyInitTargetSource and
AbstractPrototypeBasedTargetSource's subclasses for concrete strategies.
BeanFactory-based TargetSources are serializable. This involves
disconnecting the current target and turning into a SingletonTargetSource.
- Since:
- 1.1.4
- Author:
- Juergen Hoeller, Rod Johnson
- See Also:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final org.apache.commons.logging.LogLogger available to subclasses.Name of the target bean we will create on each invocation.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidCopy configuration from the other AbstractBeanFactoryBasedTargetSource object.booleanReturn the owning BeanFactory.Return the name of the target bean in the factory.Return the type of targets returned by thisTargetSource.inthashCode()voidsetBeanFactory(BeanFactory beanFactory) Set the owning BeanFactory.voidsetTargetBeanName(String targetBeanName) Set the name of the target bean in the factory.voidsetTargetClass(Class<?> targetClass) Specify the target class explicitly, to avoid any kind of access to the target bean (for example, to avoid initialization of a FactoryBean instance).toString()Methods inherited from interface TargetSourcegetTarget, isStatic, releaseTarget
- 
Field Details- 
loggerprotected final transient org.apache.commons.logging.Log loggerLogger available to subclasses.
- 
targetBeanName
 
- 
- 
Constructor Details- 
AbstractBeanFactoryBasedTargetSourcepublic AbstractBeanFactoryBasedTargetSource()
 
- 
- 
Method Details- 
setTargetBeanNameSet the name of the target bean in the factory.The target bean should not be a singleton, else the same instance will always be obtained from the factory, resulting in the same behavior as provided by SingletonTargetSource.- Parameters:
- targetBeanName- name of the target bean in the BeanFactory that owns this interceptor
- See Also:
 
- 
getTargetBeanNameReturn the name of the target bean in the factory.
- 
setTargetClassSpecify the target class explicitly, to avoid any kind of access to the target bean (for example, to avoid initialization of a FactoryBean instance).Default is to detect the type automatically, through a getTypecall on the BeanFactory (or even a fullgetBeancall as fallback).
- 
setBeanFactorySet the owning BeanFactory. We need to save a reference so that we can use thegetBeanmethod on every invocation.- Specified by:
- setBeanFactoryin interface- BeanFactoryAware
- Parameters:
- beanFactory- owning BeanFactory (never- null). The bean can immediately call methods on the factory.
- See Also:
 
- 
getBeanFactoryReturn the owning BeanFactory.
- 
getTargetClassDescription copied from interface:TargetSourceReturn the type of targets returned by thisTargetSource.Can return null, although certain usages of aTargetSourcemight just work with a predetermined target class.- Specified by:
- getTargetClassin interface- TargetClassAware
- Specified by:
- getTargetClassin interface- TargetSource
- Returns:
- the type of targets returned by this TargetSource
 
- 
copyFromCopy configuration from the other AbstractBeanFactoryBasedTargetSource object. Subclasses should override this if they wish to expose it.- Parameters:
- other- object to copy configuration from
 
- 
equals
- 
hashCode
- 
toString
 
-