導入
Webアプリを作るには、Tomcatのようなサーバーを用意し、DBとの接続を設定し、JSON変換ライブラリを組み込み……とやることが山積みです。これを毎回手作業で書いていたら日が暮れてしまいます。
説明
Spring Boot登場以前は、これらすべてをXMLやJavaConfigで手動設定するのが普通でした。Spring Bootは、「よく使われる組み合わせなら、こう設定しておけば大抵は動くはず」という賢い初期値(convention over configuration = 設定より規約) をあらかじめ用意しています。これを 自動構成(auto-configuration) と呼びます。
graph LR
subgraph Before["Spring Boot登場前"]
A1["Tomcatの設定を書く"] --> A2["DB接続を設定する"]
A2 --> A3["JSON変換を組み込む"]
A3 --> A4["ログ出力を設定する"]
A4 --> A5["ようやくアプリが動く"]
end
subgraph After["Spring Boot"]
B1["依存を追加するだけ"] --> B2["自動構成が状況を判断"]
B2 --> B3["すぐ動くアプリが完成"]
end
たとえば、クラスパス上に組込みTomcatのライブラリが存在すれば、Spring Bootは「ああ、このアプリはWebアプリなんだな」と判断し、Tomcatを自動で立ち上げるように構成します。データベースのドライバが存在すれば、DB接続の設定を自動で組み立てます。開発者は「何を使いたいか」を依存関係として追加するだけで、細かい配線はSpring Bootが埋めてくれるのです。
もちろん、自動構成された内容は上書きできます。「初期値はこう。気に入らなければ自分で変えていい」というのがSpring Bootの設計思想です。次のレッスンから、この自動構成を実際にどう使う(そして必要なら上書きする)のかを見ていきます。
やってみよう
これまでWebアプリの「土台部分」(サーバー起動、DB接続設定など)を自分で書いたことがあれば、それをSpring Bootに任せた場合どれくらいの手間が減りそうか想像してみましょう。まだ経験がなくても、「土台を自分で作る」と「土台はフレームワーク任せにする」の違いを言葉にしてみてください。