以下代码是与 spring
一起使用的常见构造框架。它的目的是提供配置类,它本身提供所需的实现类,这里AsyncUncaughtExceptionHandler
.
是否可以/建议使用新的 java 1.8 lambda 表达式重构此代码?如果是,怎么办?
@Component
public class AsyncConfigurer extends AsyncConfigurerSupport {
@Autowired
private CustomService service;
@Autowired
private Logger logger;
@Override
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
return new AsyncUncaughtExceptionHandler() {
@Override
public void handleUncaughtException(Throwable ex, Method method, Object... params) {
service.call();
logger.fatal(ex);
}
};
}
}
最佳答案
您是否想要这样做取决于您;这主要是风格问题。
如果你这样做了,它看起来会像这样:
@Override
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
return (ex, method, params) -> {
service.call();
logger.fatal(ex);
};
}
关于java - 使用 lambda 重构接口(interface)实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29212601/