-
Filter / InterCeptor / AOPSpring 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 타겟에서 프로세스가 진행된 이후 호출
'Spring' 카테고리의 다른 글
Spring AOP (0) 2019.05.10 Spring Mybatis Batch Processing (0) 2019.04.10 cannot change the executor type when there is an existing transaction (0) 2019.04.10 웹페이지에서 Layout 처리 하기 위하여 표기 방법 (0) 2017.06.12 Json Date Log를 보기 쉽게 하는법 (0) 2017.06.12