テンプレート一覧に戻る

Java + Spring Boot

Java 21 + Spring Boot 3.x + Gradle のプロジェクト向けCLAUDE.md。エンタープライズJava開発のベストプラクティスを含みます。

中級javaspring-bootgradlejpa
CLAUDE.md
# プロジェクト名

Java 21 + Spring Boot 3.x で構築されたAPIサーバー。

## 技術スタック

- **フレームワーク**: Spring Boot 3.4+
- **言語**: Java 21 (LTS)
- **ビルド**: Gradle 8.x (Kotlin DSL)
- **ORM**: Spring Data JPA + Hibernate 6
- **DB**: PostgreSQL 16
- **テスト**: JUnit 5 + Mockito + Testcontainers

## コマンド

| コマンド | 用途 |
|---------|------|
| `./gradlew bootRun` | 開発サーバー起動 |
| `./gradlew test` | テスト実行 |
| `./gradlew build` | ビルド(JAR生成) |
| `./gradlew spotlessApply` | フォーマット適用 |
| `./gradlew bootJar` | 実行可能JAR生成 |

## ディレクトリ構造

| パス | 役割 |
|-----|------|
| `src/main/java/.../controller/` | RESTコントローラー |
| `src/main/java/.../service/` | ビジネスロジック |
| `src/main/java/.../repository/` | Spring Data Repository |
| `src/main/java/.../entity/` | JPAエンティティ |
| `src/main/resources/` | 設定ファイル (application.yml) |
| `src/test/` | テストコード |

## コーディング規約

- レコード型でDTO/Value Objectを定義
- Optional型でnull安全に
- Lombokは使用せず、recordとパターンマッチングを活用
- トランザクション境界はService層で `@Transactional`
- 例外はカスタム例外 + `@ControllerAdvice` で統一ハンドリング
- 環境設定は `application.yml` + Spring Profiles

## Git規約

- ブランチ: `feature/`, `fix/`, `chore/`
- コミットメッセージ: Conventional Commits形式
- PRは1機能1PR、レビュー必須

関連ガイド

検索

ガイドやテンプレートを検索...