Spring-аннотации: существует ли похожая аннотация, такая как @ExceptionHandler, используемая в стереотипах Controller для стереотипов @Repository или @Service? - PullRequest
2 голосов
/ 24 февраля 2012

Я пытался посмотреть, смогу ли я использовать org.springframework.web.bind.annotation.ExceptionHandler в репозитории из любопытства.Как и ожидалось, аннотация игнорируется.

У меня есть инструментальный сервис с низким приоритетом, из которого я не хочу, чтобы возникали исключения.Вместо того, чтобы кодировать каждый метод в инструментальной службе с помощью try / catch, я хотел бы иметь метод @ExceptionHandler для службы - аналогично методам, используемым в Spring @Controller.

Мысли?

1 Ответ

1 голос
/ 25 февраля 2012

Я не думаю, что вы можете получить это из 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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...