Spring Bootの概要
Spring Boot(スプリング ブート)は、オープンソースのJavaフレームワークです。
Java製のフレームワークであるSpringを使用して作成されたアプリケーションを、少ない設定で、短期間で実行できることを目的に設計・開発されました。
Spring Bootは、Tomcat、Jetty、UndertowといったWebサーバ・サーブレットコンテナとアプリケーションを、ひとつの実行可能jar(java archive)ファイルに統合します。
Spring FrameworkによるMVCモデルのWebアプリケーションやRESTful WEB
サービスをひとつのjarファイルで実行可能です。Javaがインストールされていれば、Webサーバを構築することなくWebアプリケーションやRESTful WEBサービスを起動することができます。
Spring Boot を始めるためには、MavenやGradleなどの依存関係管理をサポートするビルドツールを使用することが推奨されています。
Spring Bootの最新バージョンは、1.3.8、1.4.4、1.5.1です。(2017年2月現在)
Spring Bootの主な特徴
◆スタンドアロンのSpringアプリケーションを作成します。
Springアプリケーションを動かすためのSpringApplicationクラスが提供されています。
SpringApplicationクラスのrun()メソッドを呼び出すだけでSpringアプリケーションを起動させることができます。
◆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, Solr, ElasticSearch, LDAPなどへの接続などの自動設定クラスも提供されています。自動設定クラスを読み込み、プロパティから接続情報を指定するだけで、Redis, MongoDB, Solr, ElasticSearch, LDAPなどへ接続することが可能です。
◆メトリック、ヘルスチェック、外部化された設定など、実稼働環境に対応した機能を提供します。
Spring Boot Actuatorにより、稼働環境の状態を数値で取得するメトリクスサービスが提供されています。メトリクスサービスでは、単純に数値を取得する「ゲージ」と、インクリメントする値を取得する「カウンタ」をサポートしています。Spring Boot Actuatorは、ヘルスチェックのためのエンドポイントも提供しています。
また、Valueアノテーションを使用することで、プロパティファイル、YAMLファイル、環境変数、およびコマンドライン引数など外部化された設定を注入することができます。稼動環境に依存する設定を外部化することにより、異なる稼働環境においても同じアプリケーションコードを使用することが可能です。
- Spring Bootがサポートする埋め込みサーブレットコンテナ
(Spring Boot 1.5.1.RELEASEの場合)
コンテナ名 サーブレットバージョン Javaバージョン Tomcat 8 3.1 Java 7+ Tomcat 7 3 Java 6+ Jetty 9.3 3.1 Java 8+ Jetty 9.2 3.1 Java 7+ Jetty 8 3 Java 6+ Undertow 1.3 3.1 Java 7+
- Spring Boot CLI
Spring Boot CLIは、Springアプリケーションのプロトタイプを早く作成することができるコマンドラインツールです。Spring Boot CLIを使用することで、Groovyで記述されたコードを実行することが可能です。
Spring Boot CLIのダウンロードページから、Spring Boot CLIをダウンロードすることができます。
Spring Bootのシステム要件
Spring Boot 1.5.1では、以下の要件があります。
- Java 7以降
- Spring Framework 4.3.6 以降
- Maven(3.2以降)、Gradle2(2.9以降)・Gradle 3では明示的にビルドがサポートされています。
Spring Bootのライセンス
Spring Bootのライセンスは、Apache License 2.0.ライセンスです。
Spring Bootの使用にあたって、著作権の表示などの条件に従うことで、商用利用、修正、再頒布などが自由に行えます。
Spring Bootのダウンロードページ
Spring Bootのスタートアップページから、Mavenプロジェクト、Gradleプロジェクトのスターターファイルをダウンロードすることができます。
https://start.spring.io/
Spring Bootのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。