バージョンアップ情報
Spring Boot情報
Spring Bootとは
Spring Boot(スプリングブート)は、オープンソースのJavaフレームワークです。
JavaのWebアプリケーションフレームワークであるSpring Frameworkを使用して作成されたアプリケーションを、少ない設定で、短期間で実行できることを目的に設計・開発されました。
Spring Bootは、Apache Tomcat、Jetty、UndertowといったWebサーバ・サーブレットコンテナとアプリケーションを、ひとつの実行可能なjar(Java Archive)またはwar(Web Application Archive)ファイルに統合します。 Spring FrameworkによるMVCモデルのWebアプリケーションやRESTful WEB サービスをひとつのjarファイルで実行可能です。Javaがインストールされていれば、Webアプリケーションサーバを構築することなくWebアプリケーションやRESTful WEBサービスを起動することができます。
Spring Bootを始めるためには、MavenやGradleなどの依存関係管理をサポートするビルドツールを使用することが推奨されています。
主な特徴
スタンドアロンSpringアプリケーションの作成
Springアプリケーションを動かすためのSpringApplicationクラスが提供されています。
SpringApplicationクラスのrun()メソッドを呼び出すだけでSpringアプリケーションを起動させることができます。
Apache Tomcat、Jetty、Undertowのjarへの組み込み
ビルドファイルに依存関係を書くだけで、Webサーバ・サーブレットコンテナをjarファイルに組み込みます。Webサーバやアプリケーションサーバを構築・インストールする必要がありません。
設定簡素化のため、ビルドツールに合わせたSpring Bootアプリケーションプロジェクトの雛形であるスターターファイルが提供されています。
Spring Initializrページから、Spring Bootバージョンやビルドツール(Maven、Gradle)に合わせたスターターファイルをダウンロードすることができます。
Bean定義の自動化
ConfigurationおよびEnableAutoConfigurationアノテーションを付与することで、Springアプリケーションで必要となっていたBean定義を、Spring Bootの自動設定クラスが自動的に定義します。アプリケーションをデバッグモードで起動させることで、自動設定を確認することができます。
Spring Bootでは、Redis, MongoDB, Apache Solr, Elasticsearch, LDAPなどへの接続などの自動設定クラスも提供されています。自動設定クラスを読み込み、プロパティから接続情報を指定するだけで、それらのサーバへ接続できます。
実稼働環境に対応した機能の提供(メトリック、ヘルスチェック、外部化された設定など)
Spring Boot Actuatorにより、稼働環境の状態を数値で取得するメトリクスサービスが提供されています。Spring Boot 3系ではMicrometerをベースとしたメトリクス収集システムを採用しています。Spring Boot Actuatorは、ヘルスチェックのためのエンドポイントも提供しています。
また、Valueアノテーションを使用することで、プロパティファイル、YAMLファイル、環境変数、およびコマンドライン引数など外部化された設定を注入することができます。稼動環境に依存する設定を外部化することにより、異なる稼働環境においても同じアプリケーションコードを使用することが可能です。
Spring Bootがサポートする組み込みサーブレットコンテナ
Spring Bootは、以下の埋め込みサーブレットコンテナをサポートします。(Spring Boot 3.4.3の場合)
コンテナ名 |
サーブレットバージョン |
---|---|
Apache Tomcat 10.1(10.1.25以降) |
6.0 |
Jetty 12.0 |
6.0 |
Undertow 2.3 |
6.0 |
Spring Bootアプリケーションは、その他のサーブレット5以上のコンテナにデプロイ可能です。
Spring Boot CLI
Spring Boot CLIは、Springアプリケーションのプロトタイプを早く作成することができるコマンドラインツールです。Spring Boot CLIを使用することで、Groovyで記述されたコードを実行することが可能です。
Spring Boot CLIのダウンロードページから、Spring Boot CLIをダウンロードすることができます。
メリット・デメリット
メリット・必要性
オープンソースのためすぐに利用でき、アプリケーションを迅速に短期間で開発できます。
人気の高いフレームワークの一つであるため、インターネットや書籍からの情報収集が比較的容易です。
Webサーバ・サーブレットコンテナを組み込んだ実行可能なjarファイルを作成可能です。
デメリット・注意点・課題
Spring Frameworkを利用したことがない場合など、理解を深めるための学習に時間がかかる可能性があります。
動作環境
Spring Boot 3.4.3では、以下の要件があります。
- Java 17~23
- Spring Framework 6.2.3
- Maven(3.6.3以降)、Gradle 7.x(7.6.4以降)またはGradle 8.x(8.4以降)
Spring Bootのライセンス
Spring Bootのライセンスは、Apache License 2.0です。
Spring Bootの使用にあたって、著作権の表示などの条件に従うことで、商用利用、修正、再頒布などが自由に行えます。
参考情報
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
Apache Struts
アパッチストラッツ。Java言語を用いてWebアプリケーションを開発するためのフレームワークです。
-
Apache Wicket
アパッチウィケット。Javaで実装されたコンポーネントベースのWebアプリケーションフレームワークです。
-
サポート対象
MyBatis
マイバティス。iBATISの後継プロジェクトとして開発され、Javaならびに.NET Frameworkプラットフォームが対象のデータマッパーフレームワークです。