Interceptor
Interceptor
- Interceptor(인증) / Filter(로그) 매우 유사
- Spring Context(Bean 활용 및 추가적인 기능 제공)에 등록
- AOP와 유사한 기능(로직 기준 핵심적 관점, 부가적 관점으로 나누어 그 관점 기준 각각 모듈화)
- 선/후 처리 함으로 써 비지니스 로직과 분리한다.
- @RequiredArgsConstructor(생성자 주입)
- 초기화 되지않은 final 필드, @NonNull 필드에 생성자 생성(의존성 주입)
- 순환 참조 방지를 위해 @Autowired(필드 주입) 대신 사용
- 생정자 주입 : 먼저 빈을 생성하지 않고 주입하려는 빈을 먼저 찾음
2. @Retention 어느 시점까지 어노테이션의 메모리를 가져갈 지 설정
@Target 필드, 메소드, 클래스, 파라미터 등 선언할 수 있는 타입을 설정
-
CustomException 작성
-
Interceptor 에 throw new CustomException 작성
-
GlobalExceptionHandler @ControllerAdvice는, @ExceptionHandler(CustomException.class) 작성
-
- @ExceptionHandler
- @Controller, @RestController 적용된 Bean 내 발생 예외를 하나의 메서드에서 처리
- @ControllerAdvice
- 전역 발생 예외 처리