When using BeanDefinitionBuilder.addAutowiredProperty AOT code generation fails with:
Code generation does not support org.springframework.beans.factory.config.AutowiredPropertyMarker.
@Test
void autowiredProperty() {
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
beanFactory.registerBeanDefinition("auditor", BeanDefinitionBuilder.rootBeanDefinition(Auditor.class).getBeanDefinition());
beanFactory.registerBeanDefinition("holder", BeanDefinitionBuilder.rootBeanDefinition(AuditorHolder.class).addAutowiredProperty("auditor").getBeanDefinition());
GenericApplicationContext ctx = new GenericApplicationContext(beanFactory);
TestGenerationContext testGenerationContext = new TestGenerationContext();
ApplicationContextAotGenerator generator = new ApplicationContextAotGenerator();
generator.processAheadOfTime(ctx, testGenerationContext);
testGenerationContext.writeGeneratedContent();
}
static class Auditor {
}
static class AuditorHolder {
Auditor auditor;
public void setAuditor(@Nullable Auditor auditor) {
this.auditor = auditor;
}
}
Comment From: github-actions[bot]
Fixed via ecdf069c5df46c5e15405a1437dcbee00e4f9057