我试图看看我是否可以出于好奇而在存储库中使用org.springframework.web.bind.annotation.ExceptionHandler
。正如所料,注释被忽略。
我有一个低优先级的检测服务,我不希望从中冒出异常。我没有使用try / catch对检测服务上的每个方法进行编码,而是希望对服务使用@ExceptionHandler
方法 - 类似于Spring @Controller
中使用的技术。
思想?
答案 0 :(得分:1)
我认为你现在不能从Spring获得这个(也许你想提出一个功能请求......),但你应该可以使用Spring AOP轻松地完成这项工作。
@Aspect
public class DaoAspect {
@AfterThrowing(/*any method in a @Repository class that is not annotated with @ExceptionHandler*/ throwing="ex")
public void doRecoveryActions(DataAccessException ex) {
//find method of throwing class that can handle the exception via @ExceptionHandler
}
}