CS

[Spring] ControllerAdvice가 어떻게 작동할까?

뽀글보리 2021. 8. 22. 14:43
반응형

Java에서는 Exception이 발생할 경우, 이에 대해서 스프링에서는 처리해주는 ExceptionHandler와 ControllerAdvice가 있다.

 

[JAVA] 예외 처리 종류

1) Error와 Exception의 차이 Error(오류)는 자바 프로그램 밖, 시스템에서 비정상적인 상황이 발생한 것을 말한다. 이는 시스템 레벨에서 발생하는 오류이며, 프로세스에 문제를 야기시켜 프로세스를

bboglebbogle.tistory.com

ControllerAdvice는 Controller에서 발생하는 Exception을 받아서 처리해주는 역할을 한다.(마치 interceptor 같다)

그렇다면 궁금해진것은, 어떻게 Exception이 발생하는 것을 catch하여 처리를 해주게될까?

 

그전에 알아야 할 것은 AOP라는 개념이다.

 

[Spring] AOP란 무엇일까?

AOP란 무엇일까? AOP란 Aspect-Oriented Programming의 약자이다. 즉, [Aspect] 를 중심으로 프로그래밍하는 것이다. 예를 들어, 여러 개의 클래스가 있을 때 비슷한 기능을 하는 부분이 있을 것이다. 글을 읽

bboglebbogle.tistory.com

ControllerAdvice도 Advice가 포함되어있으니 AOP를 기반으로 동작할 것이라고 유추할 수 있다.

 

Controller 실행 중에 Exception이 발생할 경우 해당 Aspect의 기능을 수행하고 다시 원래의 빈에서 나머지 기능을 수행하게 된다.

여기서 ExceptionHandler를 사용하여 특정 Exception Class 마다 다른 기능을 수행하게 설정할 수 있다.

반응형

'CS' 카테고리의 다른 글

도커와 쿠버네티스  (0) 2021.08.31
함수형 프로그래밍  (0) 2021.08.27
[Spring] AOP란 무엇일까?  (0) 2021.08.21
[JAVA] 예외 처리 종류  (0) 2021.08.16
Devops와 CI/CD  (0) 2021.08.05