공통처리 삼총사, Filter Interceptor AOP
1. Filter
2. Interceptor
3. AOP
요청시 아래의 순서로 실행
Filter → Interceptor → AOP → Interceptor → Filter 순
Filter
한글처리를 위한 인코딩 필터와 같은 자원의 앞단에서 요청내용을 변경하거나, 여러가지 체크를 수행
init() - 필터 인스턴스 초기화
doFilter() - 전/후 처리
destroy() - 필터 인스턴스 종료
Interceptor
DistpatcherServlet이 컨트롤러를 호출하기 전, 후 로 가로챔
로그인 체크, 권한체크, 프로그램 실행시간 계산작업 로그확인 등을 수행
preHandler() - 컨트롤러 메서드가 실행되기 전
postHanler() - 컨트롤러 메서드 실행직 후 view페이지 렌더링 되기 전
afterCompletion() - view페이지가 렌더링 되고 난 후
AOP
Interceptor와 Filter는 주소로 대상을 구분해서 걸러내야하는 반면,
AOP는 주소, 파라미터, 애노테이션 등 다양한 방법으로 대상을 지정할 수 있다.
@Before: 대상 메서드의 수행 전
@After: 대상 메서드의 수행 후
@After-returning: 대상 메서드의 정상적인 수행 후
@After-throwing: 예외발생 후
@Around: 대상 메서드의 수행 전/후
'JAVA > Spring' 카테고리의 다른 글
@Component와 @Bean의 차이 (0) | 2023.04.19 |
---|---|
Annotation - @Bean @Scope (0) | 2023.04.19 |
Spring boot, thymeleaf static 파일 인식오류, 404에러 (0) | 2023.04.17 |
error setting null for parameter #n (0) | 2023.04.12 |
스프링프레임워크 Property 네임스페이스 이용하기 (0) | 2023.04.12 |