@ -423,6 +423,7 @@ final class PostProcessorRegistrationDelegate {
}
}
}
}
private static final class MergedBeanDefinitionPostProcessorInvoker {
private static final class MergedBeanDefinitionPostProcessorInvoker {
private final DefaultListableBeanFactory beanFactory ;
private final DefaultListableBeanFactory beanFactory ;
@ -438,12 +439,14 @@ final class PostProcessorRegistrationDelegate {
RootBeanDefinition bd = ( RootBeanDefinition ) this . beanFactory . getMergedBeanDefinition ( beanName ) ;
RootBeanDefinition bd = ( RootBeanDefinition ) this . beanFactory . getMergedBeanDefinition ( beanName ) ;
Class < ? > beanType = resolveBeanType ( bd ) ;
Class < ? > beanType = resolveBeanType ( bd ) ;
postProcessRootBeanDefinition ( postProcessors , beanName , beanType , bd ) ;
postProcessRootBeanDefinition ( postProcessors , beanName , beanType , bd ) ;
bd . markAsPostProcessed ( ) ;
}
}
registerBeanPostProcessors ( this . beanFactory , postProcessors ) ;
registerBeanPostProcessors ( this . beanFactory , postProcessors ) ;
}
}
private void postProcessRootBeanDefinition ( List < MergedBeanDefinitionPostProcessor > postProcessors ,
private void postProcessRootBeanDefinition ( List < MergedBeanDefinitionPostProcessor > postProcessors ,
String beanName , Class < ? > beanType , RootBeanDefinition bd ) {
String beanName , Class < ? > beanType , RootBeanDefinition bd ) {
BeanDefinitionValueResolver valueResolver = new BeanDefinitionValueResolver ( this . beanFactory , beanName , bd ) ;
BeanDefinitionValueResolver valueResolver = new BeanDefinitionValueResolver ( this . beanFactory , beanName , bd ) ;
postProcessors . forEach ( postProcessor - > postProcessor . postProcessMergedBeanDefinition ( bd , beanType , beanName ) ) ;
postProcessors . forEach ( postProcessor - > postProcessor . postProcessMergedBeanDefinition ( bd , beanType , beanName ) ) ;
for ( PropertyValue propertyValue : bd . getPropertyValues ( ) . getPropertyValueList ( ) ) {
for ( PropertyValue propertyValue : bd . getPropertyValues ( ) . getPropertyValueList ( ) ) {
@ -466,6 +469,7 @@ final class PostProcessorRegistrationDelegate {
private void resolveInnerBeanDefinition ( BeanDefinitionValueResolver valueResolver , BeanDefinition innerBeanDefinition ,
private void resolveInnerBeanDefinition ( BeanDefinitionValueResolver valueResolver , BeanDefinition innerBeanDefinition ,
BiConsumer < String , RootBeanDefinition > resolver ) {
BiConsumer < String , RootBeanDefinition > resolver ) {
valueResolver . resolveInnerBean ( null , innerBeanDefinition , ( name , rbd ) - > {
valueResolver . resolveInnerBean ( null , innerBeanDefinition , ( name , rbd ) - > {
resolver . accept ( name , rbd ) ;
resolver . accept ( name , rbd ) ;
return Void . class ;
return Void . class ;