-
Spring boot : Filter에서 발생하는 Exception 처리하기 (링크)Spring Boot 🍃 2023. 12. 15. 00:01
https://jhkimmm.tistory.com/29
Filter Exception :https://taetaetae.github.io/2020/04/06/spring-boot-filter/
Filter :시큐리티 필터 적용할때도 적용할 수 있겠다!!!!!!!!!!
filter 에 사용 될 url에 대한 필터를 적용하려면
1. @WebFilter + @ServletComponentScan 조합을 사용하거나
2. FilterConfig 파일을 생성해서 FilterRegistrationBean 을 사용
filter에서 모든 url을 확인하려면
@ComponentScan + @Component 조합을 사용
출처 : https://taetaetae.github.io/2020/04/06/spring-boot-filter/
나의 경우 url에 대한 필터를 적용해야 하면서 Filter에서 bean 주입 받아 사용할 객체가 몇개 있었기 때문에 @Component 어노테이션을 붙여주어야 했다.
그래서 FilterConfig 파일을 만들고 FilterRegistrationBean 을 사용하는 방법을 택함!
글을 작성하고나서 조금 더 찾아보니
@ServletComponentScan 은 base package 하위에 존재하는 서블릿 컴포넌트인
서블릿, 필터, 리스너
를 모두 찾아 bean으로 등록해준다고 한다.다만 생성한 필터가 스캔 당하려면
@WebFilter
어노테이션을 부착하고 있어야 한다.내장 톰캣 사용시에 적용되는 부분으로
Spring boot는 내장 톰캣이 기본이기 때문에
기본 동작하는 부분을 확인할 수 있다.
출처 : https://findmypiece.tistory.com/57
내 프로젝트에도 @WebFilter + @ServletComponentScan 조합으로 사용했어도 잘 동작했을 것이다.
하지만 base package 하위의 모든 컴포넌트를 조사하는 작업이 별도로 추가되지 않을까?
뭔가 성능에 쬐끔 더 안좋을것 같다는 생각을 해본다 😶🌫️
추가로
Filter를 사용하면
urlPattern 에
/**/customer/**
와 같은 형태는 작성할 수 없다고 한다. 이런 형태를 사용하려면 Interceptor를 사용해야 한다.'Spring Boot 🍃' 카테고리의 다른 글
Spring boot : Feign content-type=utf-8 적용 (링크) (0) 2023.12.16 에러기록: Spring Boot Profile 설정 (0) 2023.12.16 Spring boot : Spring data envers (링크) (0) 2023.12.15 Spring boot : jar 실행시 환경변수 주입하기 (0) 2023.12.15 Spring boot : application.yml 설정 모음 (0) 2023.12.15