@ControllerAdvice를 사용해서 예외처리를 할 수 있다.
1) ControllerAdvice 역할을 해줄 클래스를 생성하고 @ControllerAdvice를 사용한다. 속성으로 basePackages로 package를 지정하거나 annotations 속성에 annotation을 지정하여 예외처리를 매핑할 수 있다.
2) 각 컨트롤러에 예외가 발생하는 상황들을 만들어준다.
- NullpointException
- NumberFormatException
- ArithmeticException
3) 그리고 @ControllerAdive 클래스에서 각 예외들을 처리해줄 메소드를 만들고 @ExceptionHandler를 사용하고 속성으로 처리할 예외클래스를 설정해준다.
4) 각 예외가 발생하는 컨트롤러에 접근해보면 예외에 따라 ExceptionHandler로 매핑된 메소드들이 실행되는 것을 확인할 수 있다.