【问题标题】:ImportBeanDefinitionRegistrar vs BeanDefinitionRegistryPostProcessorImportBeanDefinitionRegistrar 与 BeanDefinitionRegistryPostProcessor
【发布时间】:2015-12-27 23:34:16
【问题描述】:

我的用例涉及动态创建 bean。我发现它们是注册 bean 定义的两个选项: ImportBeanDefinitionRegistrarBeanDefinitionRegistryPostProcessor

我想了解两者之间的区别。

谢谢, 普拉提克

【问题讨论】:

    标签: spring spring-4


    【解决方案1】:

    BeanDefinitionRegistrar 必须与@Import 注解一起使用

    @Configuration
    @Import(MyImportBeanDefinitionRegistrar.class)
    public class MainConfiguration {
    
    }
    

    而 BeanDefinitionRegistryPostProcessor 应该这样使用

    @Bean
    public static MyBeanDefinitionRegistryPostProcessor myBeanDefinitionRegistryPostProcessor() {
        return new MyBeanDefinitionRegistryPostProcessor();
    }
    

    但是在 spring 3.2.16 上,两者都无法修改我自己使用 @Bean 创建的 bean 定义,它们似乎被提前调用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2019-02-12
      • 2017-05-17
      • 1970-01-01
      • 2016-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多