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 Details

    • GenericBeanPostProcessorAdapter

      public GenericBeanPostProcessorAdapter()
  • Method Details

    • postProcessBeforeInitialization

      public final Object postProcessBeforeInitialization(Object bean, String beanName) throws org.springframework.beans.BeansException
      Specified by:
      postProcessBeforeInitialization in interface org.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 interface org.springframework.beans.factory.config.BeanPostProcessor
      Throws:
      org.springframework.beans.BeansException
    • getBeanType

      public final Class<T> 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 Object
      beanName - 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 Object
      beanName - 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
      Process Bean with name without return value before initialization,

      This method will be invoked by BeanPostProcessor#postProcessBeforeInitialization(Object, String)

      Parameters:
      bean - Bean Object
      beanName - Bean Name
      Throws:
      org.springframework.beans.BeansException - in case of errors
    • processAfterInitialization

      protected void processAfterInitialization(T bean, String beanName) throws org.springframework.beans.BeansException
      Process Bean with name without return value after initialization,

      This method will be invoked by BeanPostProcessor#postProcessAfterInitialization(Object, String)

      Parameters:
      bean - Bean Object
      beanName - Bean Name
      Throws:
      org.springframework.beans.BeansException - in case of errors