| 項目 | 以前の Spring | Spring Boot |
|---|---|---|
| 設定 | 大量のXMLやJavaConfigが必要 | AutoConfiguration でほぼ自動 |
| 依存管理 | バージョン競合に悩まされる | Starter で推奨セットを導入 |
| デプロイ | 外部のAPサーバが必要 | 組み込みサーバ で即実行 |
| 運用 | 独自に監視機能を実装 | Actuator で標準化 |
1. Actuator による運用監視の標準化
Spring Bootは「作る時」だけでなく「動かす時」のことも考えて設計されています。Spring Boot Actuator を含めると、アプリケーションの状態を簡単にチェックできるようになります。
- ヘルスチェック: アプリが生きているか、DBに接続できているかを確認。
- メトリクス: メモリ使用率やリクエスト数を取得。
- 環境変数: 実際に適用されている設定値をエンドポイント経由で確認。
2. 外部設定の柔軟な管理(Externalized Configuration)
同じバイナリ(JARファイル)を、設定ファイルを差し替えるだけで「開発・テスト・本番」の各環境に適応させることができます。
application.propertiesやapplication.ymlを使い、環境変数やコマンドライン引数で設定を上書きできる仕組みが非常に強力です。
3. 「プロファイル(Profiles)」による切り替え
「開発時はH2データベース、本番はPostgreSQL」といった環境ごとの挙動の切り替えが、@Profile アノテーションや設定ファイルひとつで簡単に行えるようになりました。
4. 実行可能JAR(Fat JAR)
地味ながら強力なのが、「依存ライブラリをすべて含んだ1つのJARファイル」としてパッケージングできることです。
- 従来: Tomcatをインストールして、そこにWARファイルをデプロイする作業が必要。
- Boot:
java -jar app.jarと打つだけでどこでも動く。これがマイクロサービスやコンテナ(Docker)化と非常に相性が良かったのです。
