org.springframework.beans.factory.config
Interface BeanPostProcessor
- All Known Implementing Classes:
- AbstractAutoProxyCreator, ApplicationContextAwareProcessor
- public interface BeanPostProcessor
Allows for custom modification of new bean instances, e.g.
checking for marker interfaces or wrapping them with proxies.
Application contexts can auto-detect BeanPostProcessor beans in their
bean definitions and apply them before any other beans get created.
Plain bean factories allow for programmatic registration of post-processors.
Typically, post-processors that populate beans via marker interfaces
or the like will implement postProcessBeforeInitialization, and post-processors
that wrap beans with proxies will normally implement postProcessAfterInitialization.
- Author:
- Juergen Hoeller
- Since: 10.10.2003
- See Also: ConfigurableBeanFactory.addBeanPostProcessor(org.springframework.beans.factory.config.BeanPostProcessor), BeanFactoryPostProcessor
| Method Summary |
Object | postProcessAfterInitialization(Object bean, String name) 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 name) Apply this BeanPostProcessor to the given new bean instance before any bean
initialization callbacks (like InitializingBean's afterPropertiesSet or a custom
init-method). |
postProcessAfterInitialization
public Object postProcessAfterInitialization(Object bean, String name)
throws org.springframework.beans.BeansException
- Apply this BeanPostProcessor to the given new bean instance after any bean
initialization callbacks (like InitializingBean's 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.
- Parameters:
- bean - the new bean instance
- name - the name of the bean
- Returns: the bean instance to use, either the original or a wrapped one
- Throws:
- org.springframework.beans.BeansException - in case of errors
postProcessBeforeInitialization
public Object postProcessBeforeInitialization(Object bean, String name)
throws org.springframework.beans.BeansException
- Apply this BeanPostProcessor to the given new bean instance before any bean
initialization callbacks (like InitializingBean's 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.
- Parameters:
- bean - the new bean instance
- name - the name of the bean
- Returns: the bean instance to use, either the original or a wrapped one
- Throws:
- org.springframework.beans.BeansException - in case of errors