개발/Java
spring @ControllerAdvice 설정 팁
내가지니
2019. 2. 2. 14:31
스프링에서 Exception 처리를 하기 위한 방법은 여러 가지가 있지만 @ControllerAdvice 에 대해서 간단하게 설정 팁을 설명합니다.
@ControllerAdvice은 spring Web에서 발생하는 Exception을 공통된 처리하기 위한 방법입니다.
@ExceptionHandler와 다른 점은 @ExceptionHandler는 컨트롤러 단위에서 처리하고, @ControllerAdvice는 전역으로 Exception을 처리할 수 있다라는 겁니다.
전자정부프레임워크 기반으로 @ControllerAdvice를 처리하는 과정에서 Exception을 catch하지 못하는 문제가 발생하여 알아보던 중
<mvc:annotation-driven />과 연관이 있다라는걸 알았습니다.
먼저 @ControllerAdvice를 사용하기 위해서는 <anotation-driven />이 설정되어 있아야 합니다.
하지만 <anotation-driven />을 사용하지 못하는 상황이 발생 할 경우는 별도로 @ControllerAdvice를 사용할 수 있도록 처리해야줘 하는데.
그러한 경우 다음과 같이 bean을 별도로 등록해주면 됩니다.
1 2 | <bean id="exceptionHandlerExceptionResolver" class="org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver" /> | cs |