Framework/Spring

[Spring] 공통처리부분 Filter/Interceptor/AOP

캠핑의자 2022. 9. 3. 02:17

👒 스프링에서

프로그램에서 공통으로 처리해야하는 기능들을 처리하는 역할을 한다. 

예 : 로그인 세션 체크, 권한 체크, XSS 방어, Logging 등

 

 

👒 흐름

Filter -> Interceptor -> AOP

 

👒 Filter

요청과 응답을 거른다.

 

위치 : web.xml

사용 : 전체적인 Request단에서 어떤 처리가 필요할때

        인증,문자 인코딩,데이터압축,암호화필터, URL 및 기타정보를 캐시하는 필터

 

👒 Interceptor

요청에 대한 작업 전, 후로 가로챈다.

 

위치 : servlet-context.xml

사용 : 세션 및 쿠키 체크하는 http 프로토콜 단위로 처리해야 하는 업무가 있을 때

 

👒 AOP

OOP 했을 때 중복을 줄일 수 없는 부분을 줄이기 위해 종단에서 바라보고 처리한다.

위 두 개는 주소로 대상을 지정하지만, AOP는 주소, 파라미터, 어노테이션 등 다양한 방법으로 대상을 지정한다.

 

위치 : 메소드 앞에 Proxy 패턴의 형태로 실행

사용 : 로깅,트랜잭션,에러처리 등