본문 바로가기

Filter2

[Spring boot] Filter에서 Bean 객체 사용이 가능한 이유 Filter의 개요Filter는 Web Context에서 관리되므로 Spring의 Bean으로 등록 못한다는 설명이 많다.아래 그림은 Web Context와 Spring Context에 대한 이해를 높이는 그림이다. 해당 그림을 보면 Spring 컨테이너 보다 큰 서블릿 컨테이너의 Filter가 Spring에 의해 관리되는 것은 이상할 수 있다. 하지만 현재 Filter는 Spring Bean으로 등록 및 의존성 주입도 가능하다.예전에 Filter는 실제로 Spring 컨테이너에서 관리되지 않았고, Bean의 의존성 주입도 불가능하였다.하지만 DelegatingFilterProxy의 등장으로 Bean 등록 및 의존성 주입도 가능해졌다. DelegatingFilterProxy필터(Filter)는 서블릿이 .. 2024. 8. 7.
[Spring boot] Filter / Interceptor 세분화된 차이점 Filter / InterceptorSpring Project를 진행하다 보면 공통적인 로직이 많이 나오는 경우가 많다.중복되는 코드를 반복하는 것보다 하나의 로직으로 묶어서 처리하는 방법이 유지보수에도 유리하다.이러한 로직을 처리하기 위해 Filter, Interceptor 등을 사용한다. Filter필터(Filter)는 디스패치 서블릿에게 요청이 전달되기 전/후에 URL 패턴에 맞는 모든 요청에 대해 추가적인 로직을 처리할 수 있는 기능을 제공한다.디스패치 서블릿은 Spring Context에서 가장 앞쪽에 존재하는 front Controller이다.즉 우리가 흔히 생각하는 @Controller를 통해 만든 Controller는모두 디스패치 서블릿을 거쳐서 해당 로직을 수행하게 된다. 위의 사진을 살.. 2024. 8. 7.

loading