Class LoadTimeWeaverAwareProcessor
- java.lang.Object
- org.springframework.context.weaving.LoadTimeWeaverAwareProcessor
- All Implemented Interfaces:
Aware
,BeanFactoryAware
,BeanPostProcessor
public class LoadTimeWeaverAwareProcessor extends Object implements BeanPostProcessor, BeanFactoryAware
BeanPostProcessor
implementation that passes the context's defaultLoadTimeWeaver
to beans that implement theLoadTimeWeaverAware
interface.Application contexts
will automatically register this with their underlyingbean factory
, provided that a defaultLoadTimeWeaver
is actually available.Applications should not use this class directly.
- Since:
- 2.5
- Author:
- Juergen Hoeller
- See Also:
LoadTimeWeaverAware
,ConfigurableApplicationContext.LOAD_TIME_WEAVER_BEAN_NAME
Constructor Summary
Constructors Constructor Description LoadTimeWeaverAwareProcessor()
Create a newLoadTimeWeaverAwareProcessor
that will auto-retrieve theLoadTimeWeaver
from the containingBeanFactory
, expecting a bean named"loadTimeWeaver"
.LoadTimeWeaverAwareProcessor(BeanFactory beanFactory)
Create a newLoadTimeWeaverAwareProcessor
.LoadTimeWeaverAwareProcessor(LoadTimeWeaver loadTimeWeaver)
Create a newLoadTimeWeaverAwareProcessor
for the givenLoadTimeWeaver
.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
postProcessAfterInitialization(Object bean, String name)
Apply this BeanPostProcessor to the given new bean instance after any bean initialization callbacks (like InitializingBean'safterPropertiesSet
or a custom init-method).Object
postProcessBeforeInitialization(Object bean, String beanName)
Apply this BeanPostProcessor to the given new bean instance before any bean initialization callbacks (like InitializingBean'safterPropertiesSet
or a custom init-method).void
setBeanFactory(BeanFactory beanFactory)
Callback that supplies the owning factory to a bean instance.
Constructor Detail
LoadTimeWeaverAwareProcessor
public LoadTimeWeaverAwareProcessor()
Create a newLoadTimeWeaverAwareProcessor
that will auto-retrieve theLoadTimeWeaver
from the containingBeanFactory
, expecting a bean named"loadTimeWeaver"
.
LoadTimeWeaverAwareProcessor
public LoadTimeWeaverAwareProcessor(LoadTimeWeaver loadTimeWeaver)
Create a newLoadTimeWeaverAwareProcessor
for the givenLoadTimeWeaver
.If the given
loadTimeWeaver
isnull
, then aLoadTimeWeaver
will be auto-retrieved from the containingBeanFactory
, expecting a bean named"loadTimeWeaver"
.- Parameters:
loadTimeWeaver
- the specificLoadTimeWeaver
that is to be used
LoadTimeWeaverAwareProcessor
public LoadTimeWeaverAwareProcessor(BeanFactory beanFactory)
Create a newLoadTimeWeaverAwareProcessor
.The
LoadTimeWeaver
will be auto-retrieved from the givenBeanFactory
, expecting a bean named"loadTimeWeaver"
.- Parameters:
beanFactory
- the BeanFactory to retrieve the LoadTimeWeaver from
Method Detail
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
postProcessBeforeInitialization
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException
Description copied from interface:BeanPostProcessor
Apply this BeanPostProcessor to the given new bean instance before any bean initialization callbacks (like InitializingBean'safterPropertiesSet
or a custom init-method). The bean will already be populated with property values. The returned bean instance may be a wrapper around the original.- Specified by:
postProcessBeforeInitialization
in interfaceBeanPostProcessor
- Parameters:
bean
- the new bean instancebeanName
- the name of the bean- Returns:
- the bean instance to use, either the original or a wrapped one; if
null
, no subsequent BeanPostProcessors will be invoked - Throws:
BeansException
- in case of errors- See Also:
InitializingBean.afterPropertiesSet()
postProcessAfterInitialization
public Object postProcessAfterInitialization(Object bean, String name)
Description copied from interface:BeanPostProcessor
Apply this BeanPostProcessor to the given new bean instance after any bean initialization callbacks (like InitializingBean'safterPropertiesSet
or a custom init-method). The bean will already be populated with property values. The returned bean instance may be a wrapper around the original.In case of a FactoryBean, this callback will be invoked for both the FactoryBean instance and the objects created by the FactoryBean (as of Spring 2.0). The post-processor can decide whether to apply to either the FactoryBean or created objects or both through corresponding
bean instanceof FactoryBean
checks.This callback will also be invoked after a short-circuiting triggered by a
InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class<?>, java.lang.String)
method, in contrast to all other BeanPostProcessor callbacks.- Specified by:
postProcessAfterInitialization
in interfaceBeanPostProcessor
- Parameters:
bean
- the new bean instancename
- the name of the bean- Returns:
- the bean instance to use, either the original or a wrapped one; if
null
, no subsequent BeanPostProcessors will be invoked - See Also:
InitializingBean.afterPropertiesSet()
,FactoryBean