ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Filter / InterCeptor / AOP
    Spring 2020. 11. 19. 15:30

    지난년도에 AOP를 통해서 여러개의 메소드에 대해서 데이터를 수급하기 위하여 개발한적은 있으나 (choigaram.tistory.com/46?category=955254) 공통적으로 전후처리가 가능한 작업들에 대해서 정리할 필요성을 느껴서 작성을 합니다.

     

     

    Filter / Interception / AOP 3가지 다 활용하는 경우가 많은데, 공통적으로 업무에 대해서 프로세스 전/중간/후 에 대해 처리 가능하도록 해줄수있다. 

     

    제일 눈에 들어오게 프로세스 흐름도를 그리면  아래와 같다.

     

    doFilter -> 1. Web Application에 등록 (Web.xml)하기 때문에 Server Deployment Descriptor에 등록 처리합니다 

                   2. 예외처리 시 error-page 같이 예외 처리 

                   3. DispatcherServlet 이전에 실행되며, 지정된 자원에 대해  요청을 처리한다.

                   4. Spring 외부 자원

     

    Interceptor -> 1. Spring context ( Dispatcher Context) 에 등록 

                       2. Contoller 응답에 대한 전/후에 요청에 대해서 처리

     

    AOP -> 1. 메소드 전/후 시점에 대해서 PointCut으로 선언한 메소드에 한하여 처리 가능

           

    @Aop pointcut  

    1) @Around : 모든 시점에 해당 어노테이션을 가지고 있는 메소드가 호출된다. ( 프로세스 전/후 모두 호출 )
    2) @Before : PointCut에서 잡아놓은 method 타겟을 호출하기 이전에 호출한다. ( log로 예를들면 이제 들어간다~~~ 라고 쓰고 method 타겟 실행되고 @After 호출이 되는 것. )
    3) @After : PointCut에서 잡아놓은 method 타겟을 호출하기 이후에 호출한다
    4) @AfterThrowing / @AfterReturning : method 타겟에서 프로세스가 진행된 이후 호출
    

     

     

    댓글

Designed by black7375.