Class GenericBeanPostProcessorAdapter<T>
java.lang.Object
io.microsphere.spring.beans.factory.config.GenericBeanPostProcessorAdapter<T>
- Type Parameters:
T
- the type of beans this post-processor will operate on
- All Implemented Interfaces:
org.springframework.beans.factory.config.BeanPostProcessor
- Direct Known Subclasses:
InterceptingApplicationEventMulticasterProxy
public abstract class GenericBeanPostProcessorAdapter<T>
extends Object
implements org.springframework.beans.factory.config.BeanPostProcessor
Generic adapter implementation of the
BeanPostProcessor
interface, providing type-safe
processing for beans of a specific type. This class simplifies the development of typed
BeanPostProcessor
implementations by allowing subclasses to handle only the bean types
they are interested in.
Subclasses can override either the pre / post initialization hook methods (processBeforeInitialization(Object, String)
and processAfterInitialization(Object, String)
) if they wish to perform processing without returning a modified bean instance,
or the more advanced doPostProcessBeforeInitialization(Object, String)
and
doPostProcessAfterInitialization(Object, String)
methods if they need to return a modified bean instance.
Example Usage
public class MyBeanPostProcessor extends GenericBeanPostProcessorAdapter<MyBean> {
protected void processBeforeInitialization(MyBean bean, String beanName) {
// Custom logic before bean initialization
}
protected void processAfterInitialization(MyBean bean, String beanName) {
// Custom logic after bean initialization
}
}
- Since:
- 1.0.0
- Author:
- Mercy
- See Also:
-
BeanPostProcessor
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected T
doPostProcessAfterInitialization
(T bean, String beanName) Adapter BeanPostProcessor#postProcessAfterInitialization(Object, String) method , sub-type could override this method.protected T
doPostProcessBeforeInitialization
(T bean, String beanName) Adapter BeanPostProcessor#postProcessBeforeInitialization(Object, String) method , sub-type could override this method.Bean Typefinal Object
postProcessAfterInitialization
(Object bean, String beanName) final Object
postProcessBeforeInitialization
(Object bean, String beanName) protected void
processAfterInitialization
(T bean, String beanName) ProcessBean
with name without return value after initialization,protected void
processBeforeInitialization
(T bean, String beanName) ProcessBean
with name without return value before initialization,
-
Constructor Details
-
GenericBeanPostProcessorAdapter
public GenericBeanPostProcessorAdapter()
-
-
Method Details
-
postProcessBeforeInitialization
public final Object postProcessBeforeInitialization(Object bean, String beanName) throws org.springframework.beans.BeansException - Specified by:
postProcessBeforeInitialization
in interfaceorg.springframework.beans.factory.config.BeanPostProcessor
- Throws:
org.springframework.beans.BeansException
-
postProcessAfterInitialization
public final Object postProcessAfterInitialization(Object bean, String beanName) throws org.springframework.beans.BeansException - Specified by:
postProcessAfterInitialization
in interfaceorg.springframework.beans.factory.config.BeanPostProcessor
- Throws:
org.springframework.beans.BeansException
-
getBeanType
Bean Type- Returns:
- Bean Type
-
doPostProcessBeforeInitialization
protected T doPostProcessBeforeInitialization(T bean, String beanName) throws org.springframework.beans.BeansException Adapter BeanPostProcessor#postProcessBeforeInitialization(Object, String) method , sub-type could override this method.- Parameters:
bean
- Bean ObjectbeanName
- Bean Name- Returns:
- Bean Object
- Throws:
org.springframework.beans.BeansException
- See Also:
-
BeanPostProcessor.postProcessBeforeInitialization(Object, String)
-
doPostProcessAfterInitialization
protected T doPostProcessAfterInitialization(T bean, String beanName) throws org.springframework.beans.BeansException Adapter BeanPostProcessor#postProcessAfterInitialization(Object, String) method , sub-type could override this method.- Parameters:
bean
- Bean ObjectbeanName
- Bean Name- Returns:
- Bean Object
- Throws:
org.springframework.beans.BeansException
- See Also:
-
BeanPostProcessor.postProcessAfterInitialization(Object, String)
-
processBeforeInitialization
protected void processBeforeInitialization(T bean, String beanName) throws org.springframework.beans.BeansException ProcessBean
with name without return value before initialization,This method will be invoked by BeanPostProcessor#postProcessBeforeInitialization(Object, String)
- Parameters:
bean
- Bean ObjectbeanName
- Bean Name- Throws:
org.springframework.beans.BeansException
- in case of errors
-
processAfterInitialization
protected void processAfterInitialization(T bean, String beanName) throws org.springframework.beans.BeansException ProcessBean
with name without return value after initialization,This method will be invoked by BeanPostProcessor#postProcessAfterInitialization(Object, String)
- Parameters:
bean
- Bean ObjectbeanName
- Bean Name- Throws:
org.springframework.beans.BeansException
- in case of errors
-