示例代码:
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(bf);
scanner.scan("com.foo");
LOGGER.info("Bean def names:");
for (String beanDefName : bf.getBeanDefinitionNames()) {
LOGGER.info("\t{}", beanDefName);
}
当我执行此代码时,它会找到我的@Configuration类。然而,那些顶级类/ bean是生成的BeanFactory中唯一的东西(以及一些Spring的东西)。它没有采取下一步来处理这些,所以也包括@Bean项目。
对于我的生活,我无法弄清楚我错过了什么。我用谷歌搜索了我能想到的一切,但没有运气(BeanFactory与FactoryBean太相似了,我想)。如果有人有任何建议/指示,我非常感谢听到他们。