## 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
`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