private static class PostProcessorRegistrationDelegate.ApplicationListenerDetector extends java.lang.Object implements MergedBeanDefinitionPostProcessor, DestructionAwareBeanPostProcessor
Modifier and Type | Field and Description |
---|---|
private AbstractApplicationContext |
applicationContext |
private static Log |
logger |
private java.util.Map<java.lang.String,java.lang.Boolean> |
singletonNames |
Constructor and Description |
---|
ApplicationListenerDetector(AbstractApplicationContext applicationContext) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
postProcessAfterInitialization(java.lang.Object bean,
java.lang.String beanName)
Apply this BeanPostProcessor to the given new bean instance after any bean
initialization callbacks (like InitializingBean's
afterPropertiesSet
or a custom init-method). |
void |
postProcessBeforeDestruction(java.lang.Object bean,
java.lang.String beanName)
Apply this BeanPostProcessor to the given bean instance before
its destruction.
|
java.lang.Object |
postProcessBeforeInitialization(java.lang.Object bean,
java.lang.String beanName)
Apply this BeanPostProcessor to the given new bean instance before any bean
initialization callbacks (like InitializingBean's
afterPropertiesSet
or a custom init-method). |
void |
postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition,
java.lang.Class<?> beanType,
java.lang.String beanName)
Post-process the given merged bean definition for the specified bean.
|
private static final Log logger
private final AbstractApplicationContext applicationContext
private final java.util.Map<java.lang.String,java.lang.Boolean> singletonNames
public ApplicationListenerDetector(AbstractApplicationContext applicationContext)
public void postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, java.lang.Class<?> beanType, java.lang.String beanName)
MergedBeanDefinitionPostProcessor
postProcessMergedBeanDefinition
in interface MergedBeanDefinitionPostProcessor
beanDefinition
- the merged bean definition for the beanbeanType
- the actual type of the managed bean instancebeanName
- the name of the beanpublic java.lang.Object postProcessBeforeInitialization(java.lang.Object bean, java.lang.String beanName)
BeanPostProcessor
afterPropertiesSet
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.postProcessBeforeInitialization
in interface BeanPostProcessor
bean
- the new bean instancebeanName
- the name of the beannull
, no subsequent BeanPostProcessors will be invokedInitializingBean.afterPropertiesSet()
public java.lang.Object postProcessAfterInitialization(java.lang.Object bean, java.lang.String beanName)
BeanPostProcessor
afterPropertiesSet
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.
postProcessAfterInitialization
in interface BeanPostProcessor
bean
- the new bean instancebeanName
- the name of the beannull
, no subsequent BeanPostProcessors will be invokedInitializingBean.afterPropertiesSet()
,
FactoryBean
public void postProcessBeforeDestruction(java.lang.Object bean, java.lang.String beanName)
DestructionAwareBeanPostProcessor
Like DisposableBean's destroy
and a custom destroy method,
this callback just applies to singleton beans in the factory (including
inner beans).
postProcessBeforeDestruction
in interface DestructionAwareBeanPostProcessor
bean
- the bean instance to be destroyedbeanName
- the name of the beanDisposableBean
,
AbstractBeanDefinition.setDestroyMethodName(java.lang.String)