所以我的问题是如何注入Autocloseable资源,理想情况下应该与Java 7一起使用资源功能。下面的代码使用lombok是否正确?
AppConfig.java
@Configuration
public class AppConfig{
@Bean
public AutoCloseable myFtpClient(){
return new MyFtpClient(); // My custom FTP Client.
}
}
下面有 Sample.java
: -
@Slf4j
@RequiredArgsConstructor
class Sample {
@NonNull
private final AutoCloseable autoCloseable;
public void execute() {
try (final AutoCloseable ac = autoCloseable) {
ac.connect() // do the real stuff
} catch (Exception e) {
log.error("{}", e.getMessage());
}
}
}
此外,如果我不能注入autocloseable对象,我该如何对上面的类进行单元测试?