spring-boot-skill について
spring-boot-skillは、Spring Bootアプリケーションを開発する方向けの実践リファレンスです。設定、レイヤー設計、モジュール化、テストを扱い、分野ごとの詳細資料を案内します。
主な機能
- 01Maven設定とコード構成
- 02JPA、サービス層、REST API
- 03Spring ModulithとThymeleaf
- 04ユニット、スライス、E2Eテスト
- 05TestcontainersとArchUnitのテスト
活用シーン
- 01Mavenプラグインとコード品質の設定
- 02モジュール化されたパッケージ構成の計画
- 03永続化、業務ロジック、REST APIの実装
- 04データベース層とWeb層のテスト設計
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sivaprasadreddy/ sivalabs-agent-skills --skill spring-boot-skillインストール後、Claude Code で/spring-boot-skillを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/archunit.mdcode-organization.mdspring-boot-docker-compose.mdspring-boot-maven-config.mdspring-boot-rest-api-testing.mdspring-boot-webapp-testing-with-mockmvctester.mdspring-data-jpa.mdspring-modulith.mdspring-service-layer.mdspring-webmvc-rest-api.mdtaskfile.mdtestcontainers-wiring.mdtesting-integration.mdtesting-slices-persistence.mdtesting-slices-web.mdtesting-strategy.mdtesting-unit-mocking.mdthymeleaf.md詳細
Spring Boot スキル
Spring Boot アプリケーションの開発では、以下のプラクティスを適用してください。該当する領域の作業を行うときにのみ、リンク先のリファレンスを読んでください。
Maven pom.xml の設定
コード品質とテストを向上させるためのプラグインおよび設定を含む Maven pom.xml の設定については、references/spring-boot-maven-config.md を読んでください。
パッケージ構成
ドメイン駆動のモジュールベースのパッケージレイアウトと命名規則については、references/code-organization.md を読んでください。
Spring Data JPA
references/spring-data-jpa.md を使用して、リポジトリ層とエンティティ層を実装してください。
サービス層
references/spring-service-layer.md を使用して、サービス層にビジネスロジックを実装してください。
Spring MVC REST API
references/spring-webmvc-rest-api.md を使用して、Spring MVC で REST API を実装してください。
Spring Modulith
references/spring-modulith.md を使用して、Spring Modulith でモジュラーモノリスを構築してください。
Thymeleaf
ビューのテンプレートに Thymeleaf を使用する場合は、references/thymeleaf.md を参照してください。
テスト
ユニットテスト、Spring のスライステスト、そして少なくとも 1 つのエンドツーエンドテストまたはスモークテストなど、相互に補完するレベルでテストを作成してください。各レベルはどちらか一方を選ぶものではありません。フレームワークに関わるテストの大半は、高速なスライスレベル(@SpringBootTest(classes = …) またはスライスアノテーション)で行い、コンテキスト全体を使う @SpringBootTest はスモークテストとリクエストレベルのエンドツーエンドテストに限定してください。各レベルが相互に補完する理由と、大規模なテストスイートを高速に保つ方法(コンテキストのキャッシュ、スイート全体でのコンテナ 1 つの使用)については、references/testing-strategy.md を読んでください。
| テスト対象 | レベル | リファレンス |
|---|---|---|
| ビジネス/ドメインロジック、フレームワークなし | ユニット(Spring コンテキストなし) | testing-unit-mocking.md |
| JPA/JDBC/JdbcClient/Spring Data JDBC/jOOQ のクエリ | 永続化スライス+Testcontainers | testing-slices-persistence.md |
| コントローラー、JSON シリアライズ、または REST クライアント | Web スライス(@WebMvcTest/@JsonTest/@RestClientTest) | testing-slices-web.md |
| いくつかのコンポーネントを組み合わせたテスト、外部 HTTP(WireMock)、または起動/リクエストレベルのスモークテスト | スライスされた @SpringBootTest(classes = …) またはスモークテスト | testing-integration.md |
実ポートを使用した完全な REST API、完全な BaseIT スイート(RestTestClient) | エンドツーエンド | spring-boot-rest-api-testing.md |
ビューをレンダリングするコントローラー(MockMvcTester) | Web スライス | spring-boot-webapp-testing-with-mockmvctester.md |
コンテナの接続(@ServiceConnection/動的プロパティ) | — | testcontainers-wiring.md |
すべての永続化テストと統合テストでは、インメモリ H2 ではなく、実際のデータベースを使用する Testcontainers を使用してください。@ServiceConnection と動的プロパティによる接続設定の違いについては、references/testcontainers-wiring.md を参照してください。
ArchUnit テストの作成
ArchUnit を使用したアーキテクチャテストの作成については、references/archunit.md を参照してください。
Spring Boot Docker Compose サポート
ローカル開発で Docker Compose サポートを使用するには、references/spring-boot-docker-compose.md を参照してください。
Taskfile
コマンドをより簡単に実行するには、references/taskfile.md を使用してください。