3

以下を考えると:

public class ResourceOne implements AutoCloseable {...}

ResourceOne(Spring) XML 構成でインスタンス化されたインスタンスを使用します。

try ブロックでリソースをインスタンス化する必要があるため、「try-with-resources ステートメント」でこのオブジェクトを (自動配線されている場合) どのように使用する必要がありますか?

1 つのアプローチとして参照を使用することもできますが (以下を参照)、これは実際には最適ではありません。

public class Test {
@Autowired
ResourceOne test;
//...
public void execute()
{
 //...
 try (ResourceOne localTest = test)
 {
   localTest.init()
   localTest.readLine();
   //...
 }
}
4

2 に答える 2

1

私の知る限り、あなたがとったアプローチが唯一の方法だと思います。

try (ResourceOne localTest = test)
 {
   localTest.init()
   localTest.readLine();
   //...
 }

autowired リソースがプロトタイプ スコープで宣言されていると仮定していますが、正しいです。

    @Bean
    @Scope(value="prototype", proxyMode=ScopedProxyMode.DEFAULT)
    public Resource1 resource1() {
        return new Resource1();
    }
于 2013-05-02T16:00:36.493 に答える