public interface BeanPostProcessor
ApplicationContexts can autodetect BeanPostProcessor beans in their bean definitions and apply them to any beans subsequently created. Plain bean factories allow for programmatic registration of post-processors, applying to all beans created through this factory.
Typically, post-processors that populate beans via marker interfaces
or the like will implement postProcessBeforeInitialization(java.lang.Object, java.lang.String),
while post-processors that wrap beans with proxies will normally
implement postProcessAfterInitialization(java.lang.Object, java.lang.String).
InstantiationAwareBeanPostProcessor,
DestructionAwareBeanPostProcessor,
ConfigurableBeanFactory.addBeanPostProcessor(org.springframework.beans.factory.config.BeanPostProcessor),
BeanFactoryPostProcessor| Modifier and Type | Method and Description |
|---|---|
Object |
postProcessAfterInitialization(Object bean,
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). |
Object |
postProcessBeforeInitialization(Object bean,
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). |
Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException
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.bean - the new bean instancebeanName - the name of the beannull, no subsequent BeanPostProcessors will be invokedBeansException - in case of errorsInitializingBean.afterPropertiesSet()Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException
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.
bean - the new bean instancebeanName - the name of the beannull, no subsequent BeanPostProcessors will be invokedBeansException - in case of errorsInitializingBean.afterPropertiesSet(),
FactoryBean