Java Spring框架-预加载bean并在不知道名称的情况下循环它们

Java Spring框架-预加载bean并在不知道名称的情况下循环它们,java,spring,dependency-injection,Java,Spring,Dependency Injection,有没有一种方法可以一次从XML文件中预加载所有bean,然后在不知道它们的bean名称的情况下循环它们?我已经看到,显然可以进行预加载,但是我没有看到在不知道它们的特定bean名称的情况下访问它们的方法。谢谢 您可以从类中使用。来自Java文档:- 返回在此工厂中定义的所有bean的名称 不考虑该工厂可能参与的任何层次结构,以及 忽略通过其他方式注册的任何单例bean 而不是bean定义 例如: ClassPathResource context = new ClassPathResource(

有没有一种方法可以一次从XML文件中预加载所有bean,然后在不知道它们的bean名称的情况下循环它们?我已经看到,显然可以进行预加载,但是我没有看到在不知道它们的特定bean名称的情况下访问它们的方法。谢谢

您可以从类中使用。来自Java文档:-

返回在此工厂中定义的所有bean的名称

不考虑该工厂可能参与的任何层次结构,以及 忽略通过其他方式注册的任何单例bean 而不是bean定义

例如:

ClassPathResource context = new ClassPathResource("applicationContext.xml");
XmlBeanFactory factory = new XmlBeanFactory(context);
String[] beans = factory.getBeanDefinitionNames();
//loop through beans array to get bean names
for (int i=0; i<beans.length; i++) { 
   //do your stuff
}
ClassPathResource上下文=新的ClassPathResource(“applicationContext.xml”);
XmlBeanFactory factory=新的XmlBeanFactory(上下文);
String[]bean=factory.getBeanDefinitionNames();
//循环遍历bean数组以获取bean名称

对于(int i=0;如果您需要访问它们的目的是什么?我正在使用JUnit进行单元测试,而不是创建大量的@test方法来测试每个bean中的属性,我希望加载所有的@test方法,并用一个测试方法并行运行它们。这没什么大不了的,但是减少额外的代码会很好,这样会这将是另一个因修改而关闭的类。我快到了。。