トップ OSS紹介 Spring Boot

Spring Boot

サポート対象

NRIのOpenStandiaが提供するSpring Boot最新情報

バージョンアップ情報

Spring Boot情報

Spring Boot情報更新日:2025/04/08

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
    サポート対象

    Apache Struts

    アパッチストラッツ。Java言語を用いてWebアプリケーションを開発するためのフレームワークです。

  • Apache Wicket

    Apache Wicket

    アパッチウィケット。Javaで実装されたコンポーネントベースのWebアプリケーションフレームワークです。

  • MyBatis
    サポート対象

    MyBatis

    マイバティス。iBATISの後継プロジェクトとして開発され、Javaならびに.NET Frameworkプラットフォームが対象のデータマッパーフレームワークです。

オープンソースに関するさまざまな課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。