Spring Boot超入門!!Hello Worldで最初の一歩を踏み出す!【Spring Boot】

  • LINEで送る
Spring Boot超入門!!Hello Worldで最初の一歩を踏み出す!【Spring Boot】

 ここまでで、Spring Initializrを使ったプロジェクト作成や、IntelliJの操作、プロジェクト構成について触れてきました。いよいよ今回は、実際にSpring Bootアプリケーションを動かしてみましょう!

 この記事では、最小構成でSpring Bootのアプリを作成し、ブラウザで”Hello, Spring Boot!”と表示させるところまでを体験します。「とにかく一度動かしてみたい!」という方におすすめの、最初の一歩です。

🔰はじめに

この記事では、以下のステップで最初のSpring Bootアプリを動かします:

  • Step 1:Spring Initializrでプロジェクトを作成する
  • Step 2:コントローラーを作ってAPIを実装する
  • Step 3:設定ファイルでポート番号を変更する
  • Step 4:アプリを起動してブラウザで確認する

 Spring Bootを使って最初のアプリケーションを作成し、実行してブラウザで結果を確認するまでの一連の流れを体験してみましょう。

🛠️ プロジェクトの作成

 Spring InitializrとIntelliJの使い方は前の記事で紹介していますので、ここでは最低限の設定のみ確認します。

設定内容(Spring Initializr)

  • Project: Gradle または Maven(どちらでも可)
  • Language: Java
  • Name: HelloWorldApp
  • Spring Boot: 最新版
    • 2025年7月現在(3.5.3が最新バージョン)
    • 💡 バージョン選択時の注意:末尾に SNAPSHOT と書かれたバージョンは開発中の不安定なバージョンなので選ばないようにしましょう。正式リリース版(SNAPSHOTではないバージョン)を選ぶのが安全です。
  • Dependencies: Spring Web

zipファイルを生成してダウンロードし、IntelliJでプロジェクトを開いてください。

 Spring Webを選択すると、build.gradlepom.xmlspring-boot-starter-web の依存が自動で追加されています。これにより、REST APIを構築するための基本機能(@RestController や組み込みサーバなど)が利用できる状態になっています。Gradleを選んだ場合の例(21行目に依存が追加される)

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.5.3'
	id 'io.spring.dependency-management' version '1.1.7'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'

java {
	toolchain {
		languageVersion = JavaLanguageVersion.of(17)
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

tasks.named('test') {
	useJUnitPlatform()
}

🎮 コントローラの実装

 プロジェクトの作成ができたら、まずはsrc/main/java/com/example/HelloWorldApp/HelloController.java に以下のコードを作成します。

 コントローラとは、リクエスト(アクセス)に応じて処理を振り分け、レスポンス(応答)を返す役割を担う部分です。

package com.example.HelloWorldApp;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

 Inteliijでプロジェクトを開いている場合、「@RestC」まで打てば、「@RestController」が候補に出てくるため、選択して実装しましょう。import文も自動で入ります。

 詳しい説明は省きますが、このコードは、/hello にアクセスされたときに、文字列 “Hello, Spring Boot!” を返すシンプルなAPIです。

📕 ポート番号を変更してみよう(application.yamlの設定)

 次に、application.yaml ファイルを使ってアプリケーションの設定を変更してみましょう。application.yaml は、Spring Bootアプリケーションの設定値(ポート番号やDB接続情報など)を集中管理するためのファイルです。ここでは、起動時のポート番号を変更する方法を体験してみましょう。

設定ファイルの作成

 Spring Bootでは、設定ファイルとして application.properties または application.yaml のどちらも使用できます。application.properties がデフォルト形式ですが、application.yaml の方が階層構造を保ったまま記述できるため、設定が増えるにつれて見通しが良くなるというメリットがあります。以下は application.yaml を使った記述例です(ファイルは src/main/resources/application.yaml に配置します):

server:
  port: 8081

spring:
  application:
    name: HelloWorldApp

設定内容の説明

設定キー説明
server.portポート番号をデフォルトの8080から8081に変更します
spring.application.nameアプリ名としてログに表示されます(機能的な影響はありません)

📝 書き方の違いメモ

同じ内容を application.properties で書く場合は以下のようになります:

server.port=8081
spring.application.name=HelloWorldApp

どちらでも機能的には同じですが、本記事では可読性の高い yaml 形式を採用しています。

⚙️ アプリケーションを実行する

 アプリケーションの実行は、main メソッドが含まれるクラス(HelloWorldAppApplication.java)を開き、エディタ上部の再生ボタン ▶ をクリックするだけです。IntelliJではクラス名の左横に再生マークが表示されるので、それを使って起動できます。起動すると下記のログが出ます。このログが出れば実行成功です:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v3.5.3)

2025-06-28T19:05:20.929+09:00  INFO 10957 --- [HelloWorldApp] [           main] c.e.H.HelloWorldAppApplication           : Starting HelloWorldAppApplication using Java 19.0.2 with PID 10957 (/Users/tamon1028/Desktop/HelloWorldApp/build/classes/java/main started by tamon1028 in /Users/tamon1028/Desktop/HelloWorldApp)
2025-06-28T19:05:20.932+09:00  INFO 10957 --- [HelloWorldApp] [           main] c.e.H.HelloWorldAppApplication           : No active profile set, falling back to 1 default profile: "default"
2025-06-28T19:05:21.715+09:00  INFO 10957 --- [HelloWorldApp] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8081 (http)
2025-06-28T19:05:21.730+09:00  INFO 10957 --- [HelloWorldApp] [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2025-06-28T19:05:21.730+09:00  INFO 10957 --- [HelloWorldApp] [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.42]
2025-06-28T19:05:21.778+09:00  INFO 10957 --- [HelloWorldApp] [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2025-06-28T19:05:21.779+09:00  INFO 10957 --- [HelloWorldApp] [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 788 ms
2025-06-28T19:05:22.112+09:00  INFO 10957 --- [HelloWorldApp] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8081 (http) with context path '/'
2025-06-28T19:05:22.120+09:00  INFO 10957 --- [HelloWorldApp] [           main] c.e.H.HelloWorldAppApplication           : Started HelloWorldAppApplication in 1.807 seconds (process running for 2.483)

 最後の行にStarted HelloWorldAppApplicationと表示されていれば成功です。ブラウザで http://localhost:8081/hello にアクセスしてみましょう。

まとめ

 この記事では、Spring Bootの最小構成プロジェクトを作成し、HelloControllerを使って文字列を返すAPIを作成しました。また、application.yaml を使ってポート番号を変更する体験も行いました。この小さな成功体験をきっかけに、次はControllerの詳しい使い方や、HTML出力・DB連携へと進んでいきましょう!

最新の投稿

SNSでもご購読できます。

コメントを残す