3

単純なアプリケーション用に、ある種のコンソールクライアントを作成しました。より柔軟にするために、直接java.io.Input-/OutputStreamアクセスするのではなく、にのみ依存する方がよいと思いました。System.in/out

クラスの名前をに変更ConsoleClientStreamClient、セッターを追加して、の代わりにインスタンスフィールドが使用されるようにしSystem.in/outました。

現時点では、私のクライアントコードは次のようになっています。

ApplicationContext appCtx = new ClassPathXmlApplicationContext("...");
StreamClient cc = (StreamClient) appCtx.getBean("streamClient");
cc.setInputStream(System.in);
cc.setOutputStream(System.out);
cc.run();   // start client

質問:

3行目と4行目をSpring構成に移動する方法はありますか(できればコンストラクターインジェクション)?

御時間ありがとうございます。

4

2 に答える 2

6

使用<util:constant ... />

<util:constant id = "out" static-field="java.lang.System.out" />
于 2010-03-20T13:17:04.867 に答える
0

を使用して明示的にBeanを作成できるかどうかはわかりませんSystem.out(これがあなたが求めているものだと思います)。System.outただし、ファクトリクラス/メソッドを使用してオブジェクト(この場合)を返すBeanを作成できます。

<bean id="streamOut" class="examples.StreamFactory"
      factory-method="getSystemOut"/>
于 2010-03-20T13:07:47.460 に答える