Spring の歴史・全体像

Spring BootとSpring の関係

Spring Boot における Spring MVC のアーキテクチャ構成

以下はWARデプロイ方式の場合を想定した図になります。JARデプロイ方式の場合はSpring BootはTomcatの外に出る事になります。

Tomcat DI コンテナ サーブレットコンテナ SpringBoot アプリ起動時に生成 登録 レスポンスの変換 HandlerAdapter Controller Service Repository JDBC ドライバ DispatcherServlet クライアント データベース サーブレットとして動作

Spring MVC リクエスト処理フロー(内部コンポーネント連携図)

以下はJSONオブジェクトを返却する場合の例ですが、Controllerからの戻り値がStringなら⑫がViewResolverに代わります。ViewResolverからの戻りの場合DispatcherServletはThymeleafViewのrenderメソッドを呼び出すことでHTMLを作成します。JSPの場合はJSPサーブレットにHTML作成を依頼します。つまりThymeleafの場合はDIコンテナで動作するためDIコンテナの恩恵を受ける事ができます(HTMLの中から直接Beanを呼び出せたりします。JSPの場合はDIコンテナの外にいるため、SpringのBean(Serviceなど)を呼ぶには、Controllerでわざわざデータを取得してModelに詰め込んでから渡す必要がありました。)

DI コンテナ サーブレットコンテナ HandlerAdapter DispatcherServlet HttpMessageConverter HandlerMethodReturnValueHandler HandlerMapping Controller Service Repository レスポンスの変換
スポンサーリンク
タイトルとURLをコピーしました