1

对于我的 Spring 配置的静态分析,我只需要 bean 定义 - 实际上创建 bean 会导致问题,因为有些需要(正确初始化的)数据库。

有没有办法防止AnnotationConfigApplicationContext创建任何bean?相反,它应该只加载和分析配置并停止。

4

1 回答 1

1

你可以实现BeanDefinitionRegistryPostProcessor接口。在postProcessBeanDefinitionRegistry您可以访问 BeanDefinition 的方法中

public class MyBeanDefinitionRegistryPostProcessor implements BeanDefinitionRegistryPostProcessor {

    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
        // ...
    }

    @Override
    public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
        registry.getBeanDefinition("myBean");
    }
}
于 2012-12-17T13:21:51.743 回答