Spring WebClientについて
目的
SpringBootで利用するMVCとWebClientの違いについてざっくり理解する
説明
SpringBootで利用するSpring MVCはサーブレットAPIおよび、サーブレットコンテナー専用に構築されています。Spring MVCや従来のサーブレットはブロッキング(同期式)がメインの利用方法として想定されています。
Spring WebFlexはSpring MVCと同じ機能を持つフレームワークで、Webサービスを構築するためのフレームワークとなっています。Spring MVCとの大きな違いはリアクティブプログラミングに対応したノンブロッキング(非同期式)のフレームワークとなっています。
参考
用語
Spring
JavaのフレームワークWeb開発でよく使われるフレームワークの一つ
SpringBoot
Springをより使いやすくまとめたもの。Springでは設定ファイルをいくつか記述する必要があったが、SpringBootでは極力少なくなるようになっている。
MVC
Model View Controllの略でプログラムの作り方を指し示す用語。ModelはDBを操る層、Viewは画面表示される層、ControllはViewから受け取った内容に対しビジネスロジックを組み込んだりModelとのやり取りを行う
WebClient
HTTPリクエストを実行するためのノンブロッキングのリアクティブクライアント
リアクティブプログラミング
非同期I/Oを利用するソフトウェアを書くためのアプローチ
サーブレットコンテナ
Webサーバーだけではプログラムを動かす事が出来ないので、サーブレットコンテナを用いてプログラムを動かし、Webサーバーとプログラム動作の結果をWebサーバーでクライアントに返す動作をしている。
ブロッキング(同期式)
該当の処理が終わるまで後続の処理を止め、該当の箇所で待ち続ける処理。
ノンブロッキング(非同期式)
該当の処理が終わらないうちに後続の処理を始める。その代わり、どこかで依頼した処理が終わったことを検知、別処理を行う必要が出てくる。
I/O
I/O(アイ・オーと読む)Input/Outputの略、入出力の意図
この記事が気に入ったらサポートをしてみませんか?