2011-07-21 13 views
0

クラス用に2つのBeanが構成されているため、2つの異なるデータレイヤーの実装でクラスを構成できます。私のコードで2つの異なるBeanの中から選択するためのパターンやベストプラクティスがあるかどうかは疑問です。私はSpringがないと知っていますが、Factoryパターンは一般的にこれに使用されますが、工場からSpringからBeanを取得すると少し冗長に見えます。クラスの複数のBean構成

+0

オートワイヤリングを使用していますか? – skaffman

+0

いいえ、XML構成を使用しています。私は自分で春を学んでいます。基本的には、私は自分のbeanに2つの異なるデータストレージサービスを注入しています.1つはJDBC経由での格納、もう1つはXML経由での格納です。ユーザーは使用したい記憶方式を選択できます。私は、コードのさまざまな部分に複数のif/elseブロックを置かずに、顧客の選択に基づいて正しいBeanを取得する最も簡単な方法を探しています。 –

答えて

1

工場内に工場があることは問題ありません。それは、春にはいつも起こります。私はここで良いアプローチのように聞こえると思います。データ記憶域ファクトリはSpring Beanになり、Beanである2つの異なる実装が注入されます。工場の仕事は、いくつかの入力に基づいてそれらの間で選択することです。

0

両方の豆を宣言し、プライマリとマークします。

<bean primary="true" ... 
XML構成で

か:

@Primary 
@Bean 

@Configurationアプローチでは、いずれかを使用できます。 Springは、自動ワイヤリングを実行するとき、プライマリBeanを優先します。 Referenceのドキュメント。

関連する問題