Spring Framework

Spring Framework と Spring Boot は何が違うのか:フォルダ構成に現れる構築モデルの変化

Spring Framework は、Java EE 時代の複雑な設定をシンプルにするために生まれたアプリケーションフレームワークです。しかし、Spring Framework 自体もプロジェクトが大規模化するにつれて、XML 設定や依存関係の管理、外部 Tomcat へのデプロイなど、初期構築や設定作業の負担が大きくなっていきました。 こうした「Spring を使うための準備が重い」という課題を解消するために登場したのが Spring Boot です。Spring Boot は Spring Framework の上に乗りつつ、アプリケーションの起動方法や構成そのものを大きく変える仕組みを提供します。

Spring Boot は Spring Framework の後継ではなく、単に「便利な機能を追加する」レベルのものでもありません。以下見てもらうと分かりますが、フォルダ構成や起動モデルが大きく異なるのは、Spring Boot がアプリケーション構築の前提そのものを置き換えているからです。既存の Spring アプリを Spring Boot 化するには、設定を少し足すだけではなく、構築モデルそのものを見直す“置き換え”に近い作業が必要になります。

Springのフォルダ構成

プロジェクト/
├── src/
│   └── main/
│       ├── java/
│       │   └── com/example/
│       │       ├── controller/
│       │       ├── service/
│       │       └── dao/
│       ├── resources/
│       │   └── applicationContext.xml  ← Spring設定ファイル
│       └── webapp/                     ← これがSpring Bootにはない
│           ├── WEB-INF/
│           │   ├── web.xml             ← サーブレット設定
│           │   └── dispatcher-servlet.xml
│           └── jsp/                    ← JSPファイル
└── pom.xml

Spring Bootのフォルダ構成

プロジェクト/
├── src/
│   └── main/
│       ├── java/
│       │   └── com/example/
│       │       ├── controller/
│       │       ├── service/
│       │       └── repository/
│       └── resources/
│           ├── application.properties  ← 設定はここだけ
│           ├── static/                 ← CSS・JS・画像
│           └── templates/             ← Thymeleafなどのテンプレート
└── pom.xml

主な違い

※ここでいう「素の Spring」は Spring Framework(Boot なし)のことです。

素のSpringSpring Boot
webapp/ありJSPを使わないなら削除できる
web.xml必須不要。サーブレット設定のデフォルト値を変更したい場合application.propertiesに書く
XMLの設定ファイル大量にあるほぼなし
JSPよく使う非推奨
画面テンプレートJSPThymeleaf等
設定XMLapplication.properties

スポンサーリンク
タイトルとURLをコピーしました