環境セットアップ
Spring Boot 3.5.0 の開発環境をセットアップしましょう
目次
必要な環境
Spring Boot 3.5.0 を使用するために必要な環境は以下の通りです:
重要: Spring Boot 3.x では Java 17 以上が必須要件となります。
Java Development Kit (JDK)
Java バージョン | サポート状況 | 推奨度 |
---|---|---|
Java 17 (LTS) | ✅ 完全サポート | ⭐⭐⭐ |
Java 21 (LTS) | ✅ 完全サポート | ⭐⭐⭐ |
Java 24 (EA) | ✅ 早期アクセス | ⭐⭐ |
JDK のインストール
Windows:
# Chocolatey を使用
choco install openjdk17
# または Scoop を使用
scoop install openjdk17
macOS:
# Homebrew を使用
brew install openjdk@17
# パスを通す
echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
Linux (Ubuntu/Debian):
# OpenJDK 17 をインストール
sudo apt update
sudo apt install openjdk-17-jdk
# JAVA_HOME を設定
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
インストール確認:
java -version
javac -version
echo $JAVA_HOME
ビルドツール
Maven
# Homebrew (macOS)
brew install maven
# Chocolatey (Windows)
choco install maven
# Ubuntu/Debian
sudo apt install maven
# 確認
mvn -version
Gradle
# Homebrew (macOS)
brew install gradle
# Chocolatey (Windows)
choco install gradle
# Ubuntu/Debian
sudo apt install gradle
# 確認
gradle -version
IDE セットアップ
IntelliJ IDEA
- プラグインのインストール:
- Spring Boot
- Spring Assistant
- Lombok
- 設定の推奨事項:
Settings > Build, Execution, Deployment > Compiler > Annotation Processors ✅ Enable annotation processing
- Live Templates の設定:
@RestController
クラス用テンプレート@Service
クラス用テンプレート
Visual Studio Code
必要な拡張機能:
{
"recommendations": [
"redhat.java",
"vscjava.vscode-java-pack",
"vscjava.vscode-spring-boot",
"pivotal.vscode-spring-boot",
"redhat.vscode-xml"
]
}
settings.json の推奨設定:
{
"java.home": "/path/to/java-17",
"spring-boot.ls.java.home": "/path/to/java-17",
"java.configuration.runtimes": [
{
"name": "JavaSE-17",
"path": "/path/to/java-17"
}
]
}
Docker 環境
Spring Boot アプリケーションのコンテナ化とテストに Docker を使用します。
Docker のインストール
Windows/macOS:
- Docker Desktop をダウンロード・インストール
Linux:
# Ubuntu の場合
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
Docker Compose のインストール:
# 最新版をインストール
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 確認
docker --version
docker-compose --version
プロジェクト作成
Spring Initializr を使用
Web UI での作成
- start.spring.io にアクセス
- 以下の設定を選択:
- Project: Maven Project
- Language: Java
- Spring Boot: 3.5.0
- Group: com.example
- Artifact: spring-boot-getting-started
- Name: Spring Boot Getting Started
- Package name: com.example.springbootgettingstarted
- Packaging: Jar
- Java: 17
- Dependencies を追加:
- Spring Web
- Spring Boot Actuator
- Spring Data JPA
- H2 Database
- Testcontainers
- GENERATE をクリックしてダウンロード
CLI での作成
curl https://start.spring.io/starter.zip \
-d type=maven-project \
-d language=java \
-d bootVersion=3.5.0 \
-d baseDir=spring-boot-getting-started \
-d groupId=com.example \
-d artifactId=spring-boot-getting-started \
-d name="Spring Boot Getting Started" \
-d description="Getting Started with Spring Boot 3.5.0" \
-d packageName=com.example.springbootgettingstarted \
-d packaging=jar \
-d javaVersion=17 \
-d dependencies=web,actuator,data-jpa,h2,testcontainers \
-o spring-boot-getting-started.zip
unzip spring-boot-getting-started.zip
cd spring-boot-getting-started
プロジェクト構造の確認
生成されたプロジェクトの構造を確認:
spring-boot-getting-started/
├── mvnw # Maven Wrapper (Unix)
├── mvnw.cmd # Maven Wrapper (Windows)
├── pom.xml # Maven 設定ファイル
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/example/springbootgettingstarted/
│ │ │ └── SpringBootGettingStartedApplication.java
│ │ └── resources/
│ │ ├── application.properties
│ │ ├── static/ # 静的リソース
│ │ └── templates/ # テンプレートファイル
│ └── test/
│ └── java/
│ └── com/example/springbootgettingstarted/
│ └── SpringBootGettingStartedApplicationTests.java
└── target/ # ビルド成果物 (自動生成)
動作確認
アプリケーションの起動
# Maven Wrapper を使用 (推奨)
./mvnw spring-boot:run
# または直接 Maven を使用
mvn spring-boot:run
# または JAR ファイルから実行
./mvnw clean package
java -jar target/spring-boot-getting-started-0.0.1-SNAPSHOT.jar
エンドポイントの確認
アプリケーション確認:
curl http://localhost:8080
# または ブラウザで http://localhost:8080 にアクセス
Actuator エンドポイント確認:
# ヘルスチェック
curl http://localhost:8080/actuator/health
# すべてのエンドポイント表示
curl http://localhost:8080/actuator
Hello World API の追加
src/main/java/com/example/springbootgettingstarted/HelloController.java
を作成:
package com.example.springbootgettingstarted;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/")
public String hello() {
return "Hello, Spring Boot 3.5.0!";
}
@GetMapping("/api/greeting")
public Greeting greeting() {
return new Greeting("Hello", "Spring Boot 3.5.0 World!");
}
record Greeting(String message, String target) {}
}
API テスト:
# 基本挨拶
curl http://localhost:8080/
# JSON レスポンス
curl http://localhost:8080/api/greeting
開発環境の最適化
IDE 設定の最適化
IntelliJ IDEA
- コード補完の強化:
Settings > Editor > General > Code Completion ✅ Show suggestions as you type ✅ Match case: First letter only
- Spring Boot 設定ファイルの補完:
Settings > Languages & Frameworks > Spring Boot ✅ Enable Spring Boot configuration file completion
Visual Studio Code
launch.json の設定:
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Spring Boot-SpringBootGettingStartedApplication",
"request": "launch",
"cwd": "${workspaceFolder}",
"mainClass": "com.example.springbootgettingstarted.SpringBootGettingStartedApplication",
"projectName": "spring-boot-getting-started",
"args": "",
"envFile": "${workspaceFolder}/.env"
}
]
}
ホットリロード設定
Spring Boot DevTools の追加:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
application.properties の設定:
# 開発時設定
spring.devtools.restart.enabled=true
spring.devtools.livereload.enabled=true
spring.thymeleaf.cache=false
# ログレベル設定
logging.level.com.example=DEBUG
logging.level.org.springframework.web=DEBUG
トラブルシューティング
よくある問題と解決方法
Java バージョンエラー
Error: LinkageError occurred while loading main class
解決方法:
# Java バージョン確認
java -version
javac -version
# JAVA_HOME 確認
echo $JAVA_HOME
# IntelliJ の場合
File > Project Structure > Project Settings > Project > Project SDK
ポート競合エラー
Web server failed to start. Port 8080 was already in use.
解決方法:
# ポート使用状況確認
lsof -i :8080 # macOS/Linux
netstat -ano | findstr :8080 # Windows
# 別のポートを使用
./mvnw spring-boot:run -Dspring-boot.run.arguments=--server.port=8081
Maven/Gradle ビルドエラー
Maven の場合:
# キャッシュクリア
./mvnw clean
rm -rf ~/.m2/repository
# 依存関係の再取得
./mvnw dependency:resolve
Gradle の場合:
# キャッシュクリア
./gradlew clean
rm -rf ~/.gradle/caches
# 依存関係の再取得
./gradlew build --refresh-dependencies
次のステップ
環境セットアップが完了したら、以下のページで詳細な機能を学習しましょう: