org.springframework.beans.factory.support

## Interface MergedBeanDefinitionPostProcessor

- All Superinterfaces:
    BeanPostProcessor
  All Known Implementing Classes:
    AutowiredAnnotationBeanPostProcessor, CommonAnnotationBeanPostProcessor, InitDestroyAnnotationBeanPostProcessor, PersistenceAnnotationBeanPostProcessor, RequiredAnnotationBeanPostProcessor

      public interface MergedBeanDefinitionPostProcessor
      extends BeanPostProcessor

  Post-processor callback interface for merged bean definitions at runtime. `BeanPostProcessor` implementations may implement this sub-interface in order to post-process the merged bean definition that the Spring BeanFactory uses to create a specific bean instance.

  The `postProcessMergedBeanDefinition(org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Class<?>, java.lang.String)` method may for example introspect the bean definition in order to prepare some cached metadata before post-processing actual instances of a bean. It is also allowed to modify the bean definition but only for bean definition properties which are actually intended for concurrent modification. Basically, this only applies to operations defined on the `RootBeanDefinition` itself but not to the properties of its base classes.

  Since:
    2.5
  Author:
    Juergen Hoeller

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, Class<?> beanType, String beanName)` Post-process the given merged bean definition for the specified bean.

    - ### Methods inherited from interface org.springframework.beans.factory.config.BeanPostProcessor

      `postProcessAfterInitialization, postProcessBeforeInitialization`

- - ### Method Detail

    - #### postProcessMergedBeanDefinition

          void postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition,
                                             Class<?> beanType,
                                             String beanName)

      Post-process the given merged bean definition for the specified bean.
      Parameters:
        `beanDefinition` - the merged bean definition for the bean
        `beanType` - the actual type of the managed bean instance
        `beanName` - the name of the bean