- WebHandler 와 Spring2024년 03월 10일
- starryeye
- 작성자
- 2024.03.10.:59
반응형Spring 이 WebHandler 의 구현체인 DispatcherHandler(front handler) 를
등록하는 과정을 알아보자.
spring boot autoconfigure 에서
자동 구성(Auto Configuration) 기능에 의해 동작하는 HttpHandlerAutoConfiguration 이다.
자동 구성 조건에 따라 HttpHandler 를 빈으로 등록하고 있는 것을 알 수 있다.
HttpHandlerAutoConfiguration 에서 HttpHandler 를 생성할 때 호출하는
WebHttpHandlerBuilder::applicationContext 메서드 코드의 일부이다.
Spring container 에서
WEB_HANDLER_BEAN_NAME("webHandler") 의 이름을 가지는 Bean 을 찾아서
builder 에 넣어준다.
또한, WebFilter, WebExceptionHandler 등도 실행 우선순위에 맞춰서 넣어주고 있는 것을 볼 수 있다.
따라서..
사용자는 WebHandler, WebFilter, WebExceptionHandler 등을 필요에 따라 Bean 으로 등록해주면,
자동으로 spring 이 등록된 빈들을 사용하여 서버까지 실행할 것임을 예상해 볼 수 있다.
참고.
사용자가 WebHandler 를 등록하려하면..
이미 등록되었다고 런타임 에러가 발생한다.
WebFluxConfigurationSupport 에서
WebHandler 의 구현체인 DispatcherHandler 를 Bean 으로 등록하고 있다.
결론
Spring 은 front handler 의 역할을 하는 DispatcherHandler 를 이미 등록하고 있기 때문에
사용자는 WebHandler 를 직접 등록할 필요가 없다.
필요에 따라, WebFilter, WebExceptionHandler 등은 등록해볼 수 있다.
반응형'Spring Reactive Stack > Webflux' 카테고리의 다른 글
HttpHandler 생성과 동작 (0) 2024.03.15 WebHandler 와 Netty 의 관계 (0) 2024.03.09 다음글이전글이전 글이 없습니다.댓글