Spring:通过构造函数注入静态成员(System.in)

Jul*_*ner 3 java spring dependency-injection constructor-injection

我为一个简单的应用程序编写了某种控制台客户端.为了更灵活,我认为只依靠java.io.Input-/OutputStream而不是System.in/out直接访问会很好.

我将类重命名ConsoleClientStreamClient,添加了setter并确保使用实例字段而不是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
Run Code Online (Sandbox Code Playgroud)

题:

有没有办法将第3行和第4行移动到Spring配置中(最好是构造函数注入)?

谢谢你的时间.

axt*_*avt 5

用途<util:constant ... />:

<util:constant id = "out" static-field="java.lang.System.out" />
Run Code Online (Sandbox Code Playgroud)