2011-08-02 5 views
0

XMLファイルからすべてのBeanを一度にプリロードしてからBean名を知らずにループする方法はありますか?私はそれが明らかにプリロードを行うことは可能ですが、特定のBean名を知らなくてもそれらにアクセスする方法は見ていません。ありがとう!Springフレームワーク - 名前を知らずにBeanをプリロードしてループする

+0

どのような目的のためにそれらをすべて訪問する必要がありますか? – Darien

+0

私はJUnitを使って単体テストを行い、@testメソッドを作成して各Beanのプロパティをテストするのではなく、それらのすべてを熱心にロードし、単一のテストメソッドと並列に実行したいと思います。それは大したことではないが、余分なコードを減らすのはいいだろうし、修正のために閉じられる別のクラスになるだろう。私は近づいている.. –

答えて

0

XmlBeanFactoryクラスのgetBeanDefinitionNames()を使用できます。 Java Docsから: -

このファクトリで定義されているすべての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 
} 

・ホープ、このことができます!

関連する問題