Spring Bootの実行フローとは
Spring Boot の実行フローを次のように要約できます。
- Spring Bootアプリケーションを作成する:Spring Initializrを使用するか、Spring Bootのプロジェクトを手動で作成します。
- アプリケーションのプロパティ(ポート番号、データベース接続など) をプロジェクト内で設定するアプリケーションの設定:
- ビジネスロジックを実装する: コントローラー、サービス、リポジトリなどのアプリケーションのビジネスロジックコードを書く。
- アプリケーションの構築とパッケージング: Maven や Gradle などのビルドツールを使用してアプリケーションを構築しパッケージ化し、実行可能な jar または war ファイルを生成します。
- ネイティブに実行する: javaコマンドで生成された実行ファイルを起動することで、Spring Bootアプリケーションが起動します。
- Spring Bootフレームワークを起動:Spring Bootフレームワークは、アプリケーションのコンテキストを構成ファイルとアノテーションに基づいて初期化し、必要な依存関係をロードします。
- Spring Bootは、コンポーネントをコンフィグレーション、アノテーションに基づいてスキャンして登録することで、アプリケーションのコンテキストを作成します。
- HTTPリクエスト処理:Spring BootはServletコンテナ(TomcatやJettyなど)を内蔵しており、HTTPリクエストを受け取って処理します。
- ビジネスロジックの呼び出し: HTTPリクエストを受信すると、Spring Bootはリクエストのパスとパラメーターに基づいて、対応するコントローラーのメソッドを呼び出して処理します。
- リクエストの処理が完了するとコントローラーメソッドはレスポンスを返します。Spring BootはリクエストをHTTPレスポンスに変換し、クライアントに送信します。
- アプリケーションの終了時の処理: Spring Boot はアプリケーション終了時に、データベース接続のクローズやリソースの解放など、必要なクリーンアップ処理を行います。