打印所有已加载的春豆

2022-08-31 09:28:06

有没有办法打印启动时加载的所有弹簧豆?我正在使用Spring 2.0。


答案 1

是的,请与我们联系并致电ApplicationContext.getBeanDefinitionNames()

您可以通过以下方式获取上下文:

  • 实施ApplicationContextAware
  • 注射它与 / (在 2.5 之后)@Inject@Autowired
  • WebApplicationContextUtils.getRequiredWebApplicationContext(..)

相关:您还可以通过注册一个 Bean 来检测每个 Bean 的注册。它将针对每个豆子进行通知。BeanPostprocessor


答案 2
public class PrintBeans {
    @Autowired
    ApplicationContext applicationContext;

    public void printBeans() {
        System.out.println(Arrays.asList(applicationContext.getBeanDefinitionNames()));
    }
}

推荐