使用带注释的bean以编程方式创建Spring BeanFactory

时间:2015-08-20 20:36:33

标签: java spring annotations

  • 我想要一个BeanFactory,而不是ApplicationContext
  • 我的bean是通过带注释的Java方法(@Bean)定义的,在几个用@Configuration注释的类中
  • 这些类位于同一个包中 - com.foo

示例代码:

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太相似了,我想)。如果有人有任何建议/指示,我非常感谢听到他们。

0 个答案:

没有答案