Properly detect importing class metadata for lite configuration class

Closes gh-22920
This commit is contained in:
Juergen Hoeller
2019-05-07 21:23:47 +02:00
parent 00a5106bfa
commit fff3813d75
2 changed files with 72 additions and 2 deletions

View File

@@ -460,7 +460,7 @@ public class ConfigurationClassPostProcessor implements BeanDefinitionRegistryPo
public Object postProcessBeforeInitialization(Object bean, String beanName) {
if (bean instanceof ImportAware) {
ImportRegistry ir = this.beanFactory.getBean(IMPORT_REGISTRY_BEAN_NAME, ImportRegistry.class);
AnnotationMetadata importingClass = ir.getImportingClassFor(bean.getClass().getSuperclass().getName());
AnnotationMetadata importingClass = ir.getImportingClassFor(ClassUtils.getUserClass(bean).getName());
if (importingClass != null) {
((ImportAware) bean).setImportMetadata(importingClass);
}