'org.springframework.web.servlet.handler.HandlerInterceptorAdapter' is deprecated
HandlerInterceptorAdapter를 상속해서 인터셉터를 구현하고 있었는데, 노란색 블러가 거슬렸다.
스프링 5.3 버전 이상부터는 권장되지 않는다고 한다. 대신 HandlerInterceptor 또는 AsyncHandlerInterceptor 인터페이스를 직접 사용하라고 적혀있다. 참고로 HandlerInterceptorAdapter는 AsyncHandlerInterceptor를 구현한 것이다.
그나저나 @Deprecated 어노테이션으로 인해 노란 블러로 경고가 뜬 건가보다. 신기방기
그리고 안에 뭐 따로 구현된 것도 없다. @Deprecated 하면서 다 지워버린건지
스택오버플로우에 따르면 자바8부터 인터페이스에서 디폴트 메서드를 정의할 수 있게 되었고, 이에 따라 따로 인터페이스를 구현하는 추상 클래스를 만들어 디폴트 메서드를 만들어줄 필요가 없어졌으며, 추상클래스인 HandlerInterceptorAdapter 대신 바로 인터페이스로 구현할 수 있게 된 것이라 한다!
AsyncHandlerInteceptor도 타고 들어가 봤는데, 이건 HandlerInterceptor의 기능에다가, afterConcurrentHandlingStarted라는 디폴트 메서드를 추가한 것이었다. 대충 비동기 요청을 처리할 때 사용한다고 한다. 비동기 요청이 뭔지는 나도 모른다.
어쨌든 나에게 필요한 것은 prehandle 메서드 뿐이니까 최종적으로 HandlerInterceptor로 구현해버렸다.
'프로그래밍 > JAVA Spring' 카테고리의 다른 글
[Spring 스프링] HandlerMethodArgumentResolver 알아보기 (0) | 2023.05.08 |
---|---|
[Spring 스프링] HandlerInterceptor 알아보기 (0) | 2023.05.07 |
[Spring 스프링] @SpringBootTest로 테스트할 때 데이터베이스 롤백하기 (4) | 2023.05.07 |
[Spring 스프링] Mock을 이용한 테스트 (0) | 2023.04.30 |
[Spring 스프링] Spring Core - Bean과 Configuration (2) | 2023.04.24 |