テンプレート一覧に戻る
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、レビュー必須