第2章 Spring Bootとは

2.3 Spring Frameworkの概要

Spring Frameworkが非常にパワフルなものであることはなんとなくわかったでしょう。が、ここまでの説明の中ですら、「Spring Framework」「Spring MVC」「Spring Boot」と、似たような名前がいくつも出てきて混乱している人もいるかも知れません。
Spring Framework(これがフレームワーク全体の名前です)では、さまざまなサブプロジェクトによって各種のフレームワーク開発が進められています。Spring Frameworkとは、いわば「たくさんのフレームワークの集合体」なのです。それらは単品でも使えますし、いくつかを組み合わせて利用することもできます。

この柔軟さ、幅広さこそがSpring Frameworkの強みなのですが、初めてその世界に足を踏み入れようとすると、「たくさんありすぎて何がなんだかわからない」といった事態に陥りがちです。そこで、この巨大なフレームワークにはどのようなものがあるのか、簡単に整理しておくことにしましょう。
なお、ここで紹介するものがSpring Frameworkのすべてではありません。このほかにもまだフレームワークはありますし、Spring Frameworkは新しい技術をいち早く取り入れるため、この先もどんどん増えていくことでしょう。

Springフレームワークの主なフレームワーク

ここに挙げたのは、Spring Frameworkに含まれるフレームワークの一部に過ぎません。この他にも多くのものが開発されています。これらの多くはそれぞれ独立したサブプロジェクトとして開発が行なわれており、それぞれ1つだけでも利用することができます(ただし、コアは一貫して必要です)。

本書ではSpring Boot/MVCを中心に解説を行なっていきますが、しかしその中では必要に応じてその他のフレームワークも利用しています。例えばデータベース関係ではJPAというJava EEの機能と、これを活用するためのSpring Data JPA(Spring DataにあるJPA関連機能)を使っていたりします。そもそもすべてのフレームワークは、コアであるSpring FrameworkのDI機能をベースに構築されていますから、表に現れないだけですべては融合しているのです。

使っている段階で「これは○○というフレームワークの機能だ」ということを意識することはありませんし、本書の中でも「このコードの中のこの部分はこっちのフレームワークを使っている」などといった説明は行ないません。Spring Frameworkは、多数のフレームワーク全体で一つなのだ、ということです。

NEXT>> 2.4 本章のまとめ