Spring

[Spring] Filter & Interceptor + 비동기

P.젤리비 2022. 8. 12.
반응형

Filter란?

Web Appliation에서 관리하는 영역으로써 Spring Boot Framework에서 Client로 부터 오는 요청 / 응답에 대해서 최초 / 최종 단계의 위치에 존재한다.

이를 통해 요청 / 응답의 정보를 변경하거나, Spring에 의해서 데이터가 변환되기 전의 순수한 Client의 요청 / 응답 값을 확인 할 수 있다.

유일하게 ServletRequest, ServletResponse의 객체를 변환 할 수 있다.

주로 Spring Framework에서는 request / response의 Logging 용도로 활용되거나, 인증과 관련된 Logic들을 해당 Filter에서 처리한다.

이를 선 / 후 처리 함으로써, Service business logic과 분리 시킨다.

 

 

Interceptor란?

Filter와 매우 유사한 형태로 존재 하지만, 차이점은 Spring Context에 등록 된다.

AOP와 유사한 기능을 제공 할 수 있으며, 주로 인증 단계를 처리하거나 , Logging을 하는데에 사용한다.

이를 선 / 후 처리 함으로써, Service business logic과 분리 시킨다.

이를 통해 서비스 단에는 순수한 인증을 통과한 요청만이 들어가도록 한다.

 

비동기

@Configuration

@EnableAsync

@Async 비동기할 부분에 사용한다

AOP기반이므로 프록시 패턴을 탄다. 그러므로 public에서만 사용가능하며,  같은 클래스 내에서 같은 메소드를 호출하면 Async 동작하지 않는다.

스프링 MVC패턴을 주로 사용할 것이므로 비동기를 사용할 일은 잘 없다.

반응형

'Spring' 카테고리의 다른 글

[Spring] Server to Server 통신 - POST  (0) 2022.08.19
[Spring] Server to Server 통신 - GET  (0) 2022.08.16
[Spring] Validation & Exception 처리  (0) 2022.08.12
[Spring] AOP  (0) 2022.08.10
[Spring] IoC (제어 역전) / DI (의존성 주입)  (0) 2022.08.09

댓글

💲 추천 글