Spring Boot とは?
Web アプリケーションを作る際、すべてをゼロから実装することはほとんどありません。 一般的には Web アプリケーションフレームワークを使います。 Java 言語の中で最も利用されている Web アプリケーションフレームワークは Spring Framework です。 最近では、Spring Framework の設定まわりの複雑さなどを改善する目的で作られた Spring Boot を使うケースが多いです。
このレクチャーでは、Spring Boot を使うことで得られるメリットについて説明します。 Java で Web アプリケーションを作るとき、かなり多くのケースで Spring Boot が採用されています。 Spring Boot は何を解決してくれるのでしょうか?
目次
Spring Framework とは?
まずは、Spring Frameworkについて触れましょう。 Spring Framework は Java ベースのアプリケーションを構築するためのフレームワークです。
フレームワークは、アプリケーションで頻繁に実装される共通の処理をあらかじめまとめたツールのことです。 フレームワークを使うことで開発者はゼロからすべてのプログラムコードを書く必要がなくなります。 この結果、アプリケーション独自のビジネスロジックの実装に多くの時間を使うことができます。 例えば、勤怠管理アプリケーションを作るとき、
- データベースとの接続のコードはフレームワークの機能を利用する
- 勤怠アプリケーション固有のビジネスロジック(入社月の1日に年間の有給を付与するなど)は自分たちで書く
というふうに開発ができるということです。
Spring Framework では、Spring Boot や Spring Security など、多数のプロジェクトが提供されています。 必要に応じてこれらを組み合わせて使用することで、より高速にアプリケーションを記述することが可能となります。
Spring Boot とは?
Spring Boot は、Spring が 提供するプロジェクトの1つです。
Spring Boot の特徴のひとつに、 「convention over configuration」の原則を採用したデフォルト設定の提供があります。
Spring Framework でアプリケーションを作る場合、Spring が提供する複数のプロジェクトを組み合わせると話しました。 各プロジェクトは、アプリケーションに導入するたびに、設定をしなければなりません。 過去、この作業はとても大変なものでした。
Spring Boot はこの問題を解決します。 Spring Boot を使うことで、特別な設定を行わなくても、アプリケーションは特定の規約に従って自動的に設定されます。 これにより、開発者は自身のビジネスロジックに集中することができ、特別な要求がある場合だけ設定を追加・変更することができます。 このような設計思想を CoC: convention over Configuration(設定より規約)と言います。 この思想は、開発者がアプリケーション全体について細かい設定をするのではなく、一般的な規約に従って理想的なデフォルト設定を提供することを目指します。 これにより、設定にかかる時間と労力を節約し、より重要な部分に集中することが可能となります。
まとめ
- Spring Framework は Java で Web アプリケーションを作るときのデファクトスタンダードです
- Spring は複数のプロジェクトから構成されていて、アプリケーション開発では、これらを必要に応じて組み合わせます
- Spring Boot が提供するデフォルト設定を活用することで、Spring での開発はさらに生産的になります