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 ,
while post-processors that wrap beans with proxies will normally
implement postProcessBeforeInitialization(java.lang.Object,java.lang.String).
postProcessAfterInitialization(java.lang.Object,java.lang.String)
InstantiationAwareBeanPostProcessorDestructionAwareBeanPostProcessorConfigurableBeanFactory.addBeanPostProcessor(org.springframework.beans.factory.config.BeanPostProcessor)BeanFactoryPostProcessorafterPropertiesSet
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 invokedorg.springframework.beans.BeansException in case of errorsorg.springframework.beans.factory.InitializingBean.afterPropertiesSet()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
method,
in contrast to all other BeanPostProcessor callbacks.
InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class,java.lang.String)
bean the new bean instancebeanName the name of the beannull, no subsequent BeanPostProcessors will be invokedorg.springframework.beans.BeansException in case of errorsorg.springframework.beans.factory.InitializingBean.afterPropertiesSet()org.springframework.beans.factory.FactoryBean