Spring注释:在@Repository或@Service构造型的Controller构造型中使用的@ExceptionHandler是否有类似的注释?

时间:2012-02-24 19:48:13

标签: java spring java-ee spring-mvc

我试图看看我是否可以出于好奇而在存储库中使用org.springframework.web.bind.annotation.ExceptionHandler。正如所料,注释被忽略。

我有一个低优先级的检测服务,我不希望从中冒出异常。我没有使用try / catch对检测服务上的每个方法进行编码,而是希望对服务使用@ExceptionHandler方法 - 类似于Spring @Controller中使用的技术。

思想?

1 个答案:

答案 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
    }
}