对于我的Spring配置的静态分析,我只需要bean定义 - 实际创建bean会导致问题,因为有些需要(正确初始化的)数据库。
有没有办法阻止AnnotationConfigApplicationContext
创建任何bean?相反,它应该只加载和分析配置并停止。
答案 0 :(得分: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");
}
}