`WebClient` の 覚書
RestTemplateBuilder
の Bean
がsingleton-socpeかつちょっと変態的なインスタンス生成を行っていたので驚いた、というエントリを昔書きました:
ところで、現時点で RestTemplate
は既に maintenance mode なので、新規実装に用いるのは忍びないなあ、と思い、 WebClient
を利用する前提で薦めることにしました。
-
利用するには
spring-boot-starter-webflux
を依存関係に追加する。(4.16.1. WebClient Runtime)-
なお、Spring MVC と Spring WebFlux が同居する場合、デフォルトで Spring MVC が有効化されるhttps://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/htmlsingle/#boot-features-web-environment[4.1.8. Web Environment])。
-
-
RestTemplateBuildr
と異なりWebClient.Builder
クラスは Spring Boot所属のクラスではない -
WebClientAutoConfiguration
によってインジェクトされるBuilder
は prototype-scope。
RestTemplateBuilder
は singlton-scopeで何か設定を与える度にインスタンスを生成し直して…みたいな歪な感じになっていたのに対し、こちらは素直なものになっているようです。