티스토리 뷰

이 세가지의 공통점

- 공통업무를 프로그램 흐름의 앞, 중간, 뒤에 추가하여 자동으로 처리할 수 있는 방법이다

 

1. Filter

  •  서블릿 단위에서 실행된다
  • DispatcherServlet 이전에 실행이 되는데 필터가 동작하도록 지정된 자원의 앞단에서 요청내용을 변경하거나, 여러가지 체크를 수행할 수 있다 
    •  스프링 시큐리티에서 서블릿의 DeligatingFilterProxy가 실행되어 FilterChainPorxy에게 요청을 인가하는 것이 필터의 사용 예이다
  • 자원의 처리가 끝난 후 에 응답내용에 대해서도 변경하는 처리를 할 수 있따
  • 실행 메소드에는 inti(), doFilter(), destroy() 가 있다

2. Interceptor

  • 요청에 대한 작업 전/후로 가로채어 실행된다
  • 필터와 달리 스프링의 DispatcherServlet이 컨트롤러를 호출하기 전, 후로 실행되기 때문에 스프링의 모든 빈 객체에 접근 할 수 있다
  • 여러개가 사용 가능하고 로그인 체크, 권한체크, 프로그램 실행시간 계산작업, 로그확인 등의 업무처리에 쓰인다
  • 실행 메소드에는 preHandler(), postHandler(),afterCompletion()가 있다

3. AOP

  • 주로 로깅, 트랜젝션, 에러 처리 등의 비즈니스 단의 메소드에서 세밀한 조정을 필요로 할 때 사용한다
  • 인터셉터와 필터와는 달리 메소드 단위에서 전후의 지점에 자유롭게 설정이 가능하다
  • 인터셉터와 필터는 주소로 대상을 구분하는 반면(URL) AOP는 주소, 파라미터, 어노테이션 등 다양한 방법으로 대상을 지정할 수 있다
  • AOP는 추후 직접 사용해보며 다시 정리할 예정

참고 블로그

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함