Web/Spring

[Spring] [5분만에 이해하기] Interceptor 개념/사용이유

송코딩 songcoding 2022. 5. 19. 12:19

#1 스프링 인터셉터란,

Intercept (동사) : 중간에 가로막다[가로채다
          + or (
접미사) : ~ 하는 사람()
Spring에서 Interceptor 역시 중간에 가로채서 일을 합니다.

Controller핸들러가 호출되기 직전/직후에 가로채서 일을 하는 친구

 

#2 그럼, 인터셉터를 왜 쓸까요?

300개의 웹 페이지들이 페이지를 로딩하기 전이나 후에 꼭 하는 공통적인 일이 있다고 가정해볼게요.

  예를 들면, 로그인 했는지 안 했는지 확인하기

  그럼 여러분들은 로그인을 확인하는 코드를 300번 짜실 건가요?
  아님, 메소드로 따로 구현해두고 300번 호출하실 건가요?
이걸 한번에 해결할 수 있는 게 Interceptor!
  구현은? 우리가! 메소드(클래스)(interceptor 클래스에! 필요한 메소드들을!)
  호출은? 핸들러 직전/직후에 Spring이 알아서!
 

#3 Point

모든 프로그래밍 기술/문법을 쓸지 말지는 사실 여러분들의 결정
interceptor를 써야하는 건 아니다. 그치만, 여러분의 코딩 효율을 위해 고려해볼 필요가 있는 것!