私は、春に配線されていないクラスでは、がであるクラスを取得する必要があるレガシーコードベースを扱っています。私は起動時にワイヤリングされたファクトリクラスを作成し、次にgetInstance()メソッドを呼び出してワイヤードアップオブジェクトを取得することができます。これについて最善の方法は何ですか?Spring Wire静的クラス
例:私は起動時にアップ配線するFooFactoryを必要
public class LegacyA {
public void doSomething() {
...
Foo foo = FooFactory.getInstance();
...
}
}
public class FooFactory {
private static Foo foo;
public static Foo getInstance() {
if (foo == null) throw new IllegalStateException();
return foo;
}
}
それはまた、アプリケーション・コンテキストに定義された豆ではFooのインスタンスを(返すようLegacyAは、単にのgetInstance()を呼び出すことができます)。
<bean id="legacyA" class="LegacyA"/>
<bean id="foo" class="Foo"/>
<!-- I need this bean to be injected with foo so that the FooFactory can return a foo -->
<bean id="fooFactory" class="FooFactory"/>
編集:私はそれは少しは自分の頭の中でconfuzzledだと私は...再働く私の例にビットを持っていた
FooはFooFactoryにどのように注入されましたか?セッター、コンストラクタ、...? – wds