鉴于以下情况:

public class ResourceOne implements AutoCloseable {...}

在(spring)xml配置中实例化了一个ResourceOne实例。
由于需要在try块中实例化资源,该对象(自动连线时)应如何与“try with resources语句”一起使用?
一种方法可能是使用引用(见下文),但这并不是真正的最佳方法。
public class Test {
@Autowired
ResourceOne test;
//...
public void execute()
{
 //...
 try (ResourceOne localTest = test)
 {
   localTest.init()
   localTest.readLine();
   //...
 }
}

最佳答案

不过,我认为你所采取的方法似乎是唯一的办法。

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

我假设您已经用prototype作用域声明了您的autowired资源。
    @Bean
    @Scope(value="prototype", proxyMode=ScopedProxyMode.DEFAULT)
    public Resource1 resource1() {
        return new Resource1();
    }

07-26 09:24