我的用例涉及动态创建bean。我发现它们是两个注册bean定义的选项:
ImportBeanDefinitionRegistrar
和BeanDefinitionRegistryPostProcessor
我想了解两者之间的区别。
谢谢, Prateek
答案 0 :(得分:0)
BeanDefinitionRegistrat必须与@Import注释一起使用
@Configuration
@Import(MyImportBeanDefinitionRegistrar.class)
public class MainConfiguration {
}
而BeanDefinitionRegistryPostProcessor应该像那样使用
@Bean
public static MyBeanDefinitionRegistryPostProcessor myBeanDefinitionRegistryPostProcessor() {
return new MyBeanDefinitionRegistryPostProcessor();
}
然而,在Spring 3.2.16中,两者都无法修改我自己用@Bean创建的bean定义,它们似乎很早就被调用了。