◀ 4.

Spring Bootプロジェクトの作成方法

▶
この記事の要点
  • Spring Tools(STS)では「File → New → Spring Starter Project」でプロジェクトを作る
  • 中身は Spring Initializr(start.spring.io)が生成する雛形。IDE がなくても Web 画面や curl で同じものが作れる
  • 2026 年時点の Spring Boot 3 系・4 系は Java 17 以上が必須。古い記事の「JDK 1.8」は Spring Boot 2 系までの話
  • Web アプリなら依存関係に Spring Web を追加する
  • 作成後は「Run As → Spring Boot App」で起動し、localhost:8080 にアクセスして確認

前提となる環境

項目内容
JDKSpring Boot 3.x / 4.x は Java 17 以上(21 などの LTS 版がおすすめ)。Spring Boot 2.x は Java 8 から利用可能だったが、オープンソース版のサポートはすでに終了している
IDESpring Tools(旧称 Spring Tool Suite、STS)。Eclipse ベース版のほか、VS Code 拡張としても提供されている
ビルドツールMaven または Gradle。プロジェクトに Maven Wrapper(mvnw)/ Gradle Wrapper(gradlew)が同梱されるため、別途インストールしなくても動く
ネットワークプロジェクト作成時に start.spring.io へ接続し、依存ライブラリもダウンロードする

インストール済みの JDK は java -version で確認できます。

STS でのプロジェクト作成手順

1. ウィザードを開く

メニューから「File」→「New」→「Spring Starter Project」を選びます(「New Project」→「Spring Boot」→「Spring Starter Project」からも開けます)。

この時点で次のエラーが発生した場合はこちらを参照してください。

An internal error occurred during: "Building UI model".

2. プロジェクトの基本情報を入力する

Spring Bootプロジェクトの作成

項目意味と入力の目安
Service URLSpring Initializr(Spring Boot プロジェクトの雛形を生成する Web サービス)の URL。デフォルトのままでよい
Nameプロジェクト名(Eclipse 上の表示名)
Locationプロジェクトを作成するディレクトリ。通常は「Use default location」のまま
Typeビルドツール。Maven か Gradle(Groovy / Kotlin DSL)を選択。迷ったら情報量の多い Maven
PackagingJar か War を選択。組み込み Tomcat で起動するなら Jar、外部の Tomcat にデプロイするなら War
Java Version使用する Java のバージョン。インストール済みの JDK 以下を選ぶ
LanguageJava / Kotlin / Groovy
Group組織を表す ID。com.example のように逆ドメイン形式で書く
Artifact成果物(jar ファイル)の名前。通常は Name と同じ
Versionアプリのバージョン。初期値 0.0.1-SNAPSHOT のままでよい
Descriptionプロジェクトの説明(任意)
Packageメインクラスを置く Java パッケージ名。Group + Artifact が自動で入る

3. Spring Boot のバージョンと依存関係(Dependencies)を選ぶ

Spring Bootプロジェクトの作成

Spring Boot Version は、特に理由がなければ SNAPSHOT や M(マイルストーン)が付かない最新の正式版を選びます。

Web アプリを作る場合、「Spring Web」(古い画面では「Web」)へのチェックは必須です(バッチ処理など Web を使わない特殊な用途を除く)。それ以外は任意ですが、よく使うものは次のとおりです。

  • Spring Boot DevTools: コード変更時の自動再起動
  • Thymeleaf: HTML テンプレートエンジン
  • Spring Data JPA + 使用する DB のドライバ(MySQL Driver、PostgreSQL Driver など)
  • Validation: 入力チェック(Bean Validation)
  • Lombok: getter / setter などの定型コードを省略

DB 関連の依存関係を追加すると、接続先の設定をするまで起動時にエラーになります。最初は Spring Web だけで作り、動作確認後に追加するとつまずきにくくなります。依存関係は後から pom.xml(Gradle なら build.gradle)に追記することもできます。

4. 完了

次ページの Base Url、Full Url は、Spring Initializr に送るリクエストの URL です。プロジェクト作成に使われるアドレスなので、デフォルトのままでかまいません。「Finish」を押すと作成が完了し、依存ライブラリのダウンロードが始まります。

IDE を使わない作り方

Web 画面(start.spring.io)

ブラウザで https://start.spring.io/ を開き、上と同じ項目を選んで「GENERATE」を押すと zip がダウンロードされます。展開して IDE で「Import → Existing Maven Projects」(Gradle なら Existing Gradle Project)で取り込みます。

コマンドライン

curl https://start.spring.io/starter.zip \
  -d type=maven-project \
  -d dependencies=web \
  -d groupId=com.example \
  -d artifactId=demo \
  -o demo.zip

生成されるファイル

demo/
├── mvnw, mvnw.cmd              Maven Wrapper
├── pom.xml                     依存関係とビルド設定
└── src/
    ├── main/java/com/example/demo/DemoApplication.java   起動クラス
    ├── main/resources/application.properties             設定ファイル
    └── test/java/com/example/demo/DemoApplicationTests.java

起動クラスには @SpringBootApplication が付いています。このクラスと同じパッケージかその配下に作ったクラスだけがコンポーネントスキャンの対象になるため、コントローラなどはこのパッケージの下に作成します。

動作確認

  1. プロジェクトを右クリック →「Run As」→「Spring Boot App」を選ぶ(コマンドなら ./mvnw spring-boot:run)
  2. コンソールに Tomcat started on port 8080 と Started DemoApplication が出ることを確認
  3. ブラウザで http://localhost:8080/ を開く。まだコントローラがないため「Whitelabel Error Page」(404)が表示されれば、起動自体は成功

よくあるつまずき

  • Java のバージョン不一致: 選んだ Java Version より古い JDK で動かすと「invalid target release」などのエラーになる。STS の Installed JREs とプロジェクトの設定を揃える
  • ポート 8080 が使用中: 「Port 8080 was already in use」と出たら、他のプロセスを止めるか server.port を変更する
  • DB の設定がない: JPA や JDBC を追加すると「Failed to configure a DataSource」で起動失敗する。接続設定を書くか、いったん依存関係を外す
  • プロキシ環境: 社内ネットワークでは start.spring.io や Maven Central に接続できず作成に失敗することがある。Eclipse のネットワーク設定と Maven の settings.xml にプロキシを設定する

関連

Post Share
子ページ

子ページはありません

同階層のページ
  1. インストール(eclipseプラグイン)
  2. クイックスタート
  3. プロジェクトの作成
  4. Spring Bootプロジェクトの作成
  5. Spring Bootプロジェクトの実行
  6. Spring BootでHello World!
  7. アノテーション一覧
  8. DB接続設定からエンティティおよびリポジトリの作成、値の取得まで(JPA編)
  9. DB接続設定や値の取得(JdbcTemplate編)
  10. ビューから値をモデルに格納しコントローラーで受け取る方法
  11. コントローラーにてモデルに値を格納してビューに渡す方法
  12. テンプレートエンジン
  13. ModelとModelAndViewの違い
  14. AOPの使用方法
  15. classpath: 内部ファイルの読み込み
  16. file: 外部ファイルの読み込み
  17. CSVファイルアップロード方法(Ajax)
  18. CSVファイルダウンロード方法(Ajax)
  19. Spring Bootプロジェクトのビルドと本番環境へのデプロイ方法(内部tomcat使用)
  20. Application.propertiesの環境依存設定の分割方法
  21. JPAにおけるEntityManagerの取得方法
  22. JPAにおけるjava.sql.Connectionの取得方法
  23. エラー一覧
  24. jarの引数を受け取る方法
  25. Spring BootでGmailからメール送信
  26. 複数のDBに接続する設定(Spring Boot & JPA編)
  27. ポート番号の変更
  28. Basic認証の実装と特定のURLに限定する方法
  29. Spring SecurityのBasic認証の無効化
  30. 独自のエラーページを定義する方法
  31. プロパティファイルの値やjar実行時の引数を取得する方法