[260728]Filter, Interceptor, AOP

이상민·2026년 7월 28일

Spring

목록 보기
47/59

Spring에선 웹을 개발할 때, 요청들을 반복적으로 처리해야하는 경우가 존재한다.

예를 들어,

  • 모든 요청 로그 남기기
  • 인증/인가 구현하기
  • 요청이 들어올때, 요청 시간을 측정하기
  • 서비스 로직 실행 전후에 검증작업 수행하기
    등의 기능들이 존재한다.

하지만, 이를 각각 컨트롤러와 서비스 내에 구현하는것은 복잡하고 가시성도 떨어지고 한번 수정하면 해당 로직이 적용된 모든 코드를 바꿔야 하므로 효율이 굉장히 떨어지게 된다.

이럴때 사용하는것이 Filter, Interceptor, AOP 이다

이 3가지 제어기술의 공통 관심사는

인증, 인가, 로깅, 트랜잭션, 예외처리 등이 있다.

FilterInterceptorAOP
처리위치DispatcherServlet 이전컨트롤러 실행 전후Spring Bean 메서드 전후
사용대상서블릿 요청핸들러모든 Bean 메서드
사용목적인증, 로깅, CORS 등세션 체크, 권한 검사 등로깅, 트랜잭션, 예외처리 등
사용방법Filter 구현HandlerInterceptor 구현@Aspect사용

기본 개념은 다음과 같지만, 실무에서는 이런 개념이 딱딱 맞아 떨어지지는 않는다.

profile
백앤드 개발 브이로그

0개의 댓글