0

class のすべての Bean を読み取る必要がありますcom.Foo。私がそれを行う方法:

BeanFactory factory = new XmlBeanFactory(new ClassPathResource(file));
Map elements = BeanFactoryUtils.beansOfTypeIncludingAncestors((ListableBeanFactory) factory, com.Foo.class);

XmlBeanFactory現在は廃止されていることがわかりました。Spring 3.1 で特定のクラスのすべての Bean を読み取るにはどうすればよいですか?


編集:新しいファクトリは、任意のファイル、クラスパス、またはファイルシステムから Bean 定義 XML をロードできる必要があります。今までSpringorg.springframework.core.io.Resourceインターフェースを使用していましたが、かなりうまく機能しました(あらゆる種類のファイルに対して多くの実装があります)。

4

1 に答える 1

1

Resourceおよびリソースの場所をコンストラクター引数として受け取る クラスは次のとおりです。GenericXmlApplicationContext

javadoc から:

XML サポートが組み込まれた便利なアプリケーション コンテキスト。これは、ClassPathXmlApplicationContext および FileSystemXmlApplicationContext の柔軟な代替手段であり、セッターを介して構成され、最終的な refresh() 呼び出しによってコンテキストがアクティブ化されます。

beansOfTypeIncludingAncestors()とに関しては、ListableBeanFactory非推奨ではありません。

于 2012-11-26T09:41:03.253 に答える