java-springboot について
Spring Boot アプリケーションを開発・保守する人向けのスキルで、プロジェクト設定、設計、セキュリティ、テスト、監視の指針を提供します。依存性注入からヘルスチェックまで、トピック別の参考資料を備えています。
主な機能
- 01コンストラクター注入と DTO の指針
- 02機能単位のパッケージ構成
- 03検証とトランザクションの実践
- 04設定・セキュリティ・ログの助言
- 05テストスライスの参考資料
- 06Actuator とヘルスチェック
活用シーン
- 01Spring Boot プロジェクトの開始
- 02REST コントローラーとサービス層の設計
- 03セキュリティと外部設定の構成
- 04アプリケーションのテスト方法の選択
MCP 対応
Context7 を使って最新の Spring Boot ドキュメントを参照します。まずライブラリ ID を解決し、次に具体的なタスクについてドキュメントを検索します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ vekzz-dev/ opencode-skills --skill java-springbootインストール後、Claude Code で/java-springbootを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/advanced.mdconfiguration.mddata-layer.mddependency-injection.mdlogging.mdmonitoring.mdproject-setup.mdsecurity.mdservice-layer.mdtesting.mdweb-layer.md詳細
使用する場面
- Spring Boot アプリケーションを開発するとき
- Spring Boot のベストプラクティスが必要なとき
- Spring Boot プロジェクトを設定するとき
- Spring フレームワークのコンポーネントを扱うとき
基本原則
- コンストラクターインジェクション — テストしやすくするために、必ず使用してください。フィールドに
@Autowiredを付ける方法は使用しないでください。 - DTO — JPA エンティティを API レイヤーに公開しないでください。レコードまたはプロジェクションインターフェースを使用してください。
- 機能別のパッケージ構成 — レイヤー別(controller/、service/)ではなく、ドメイン別(order/、user/)にまとめてください。
- バリデーション — リクエスト DTO に Bean Validation(
@Valid、@NotBlank)を使用してください。 - トランザクション —
@Transactionalを使用し、サービスレイヤーで短時間に保ってください。 - ロギング — パラメーター化ロギング(
{})を使用し、文字列連結は使用しないでください。 - セキュリティ — シークレットをハードコードしないでください。環境変数と
@ConfigurationPropertiesを使用してください。 - テスト — 十分な信頼性が得られる範囲で、最も対象を絞ったテストスライスを使用してください。
- 設定 —
application.ymlと@ConfigurationPropertiesを使用して、すべての設定を外部化してください。 - モニタリング — すべてのサービスに Actuator とヘルスチェックを追加してください。
リファレンス一覧
| トピック | リファレンス |
|---|---|
| ビルドツール、スターター、パッケージ構成 | references/project-setup.md |
| コンストラクターインジェクション、Lombok、ステレオタイプ | references/dependency-injection.md |
| application.yml、@ConfigurationProperties、プロファイル、シークレット | references/configuration.md |
| REST コントローラー、DTO、バリデーション、例外ハンドラー | references/web-layer.md |
| ビジネスロジック、@Transactional | references/service-layer.md |
| リポジトリ、クエリ、プロジェクション | references/data-layer.md |
| SLF4J ロギングのパターン | references/logging.md |
| Spring Security、JWT、パスワードエンコーディング | references/security.md |
| 非同期処理、キャッシュ、API バージョニング、ページネーション | references/advanced.md |
| Actuator、ヘルスインジケーター | references/monitoring.md |
| テストスライスのクイックリファレンス | references/testing.md |
コマンド
# Run Spring Boot application
mvn spring-boot:run
# Run with specific profile
mvn spring-boot:run -Dspring-boot.run.profiles=dev
# Build project
mvn clean package
# Run tests
mvn test
# Run specific test
mvn test -Dtest=OrderServiceTest
テスト
テストに関する包括的なガイダンス(テストスライス、MockMvcTester、Testcontainers、AssertJ)については、java-springboot-testing スキルを参照してください。
クイックリファレンス
| テストの種類 | アノテーション | 用途 |
|---|---|---|
| 単体 | @ExtendWith(MockitoExtension.class) | サービスロジック |
| Web | @WebMvcTest | コントローラー |
| データ | @DataJpaTest | リポジトリ |
| 統合 | @SpringBootTest | 一連の処理全体 |
| スライス | @RestClientTest | REST クライアント |
Context7 との連携
Spring Boot の最新情報が必要な場合:
-
libraryId を解決する —
context7_resolve-library-idを次の値で使用します:libraryName: "spring boot" または "spring framework"query: 実行する内容(例:「設定プロパティ」、「カスタムヘルスチェック」)
-
ドキュメントを照会する —
context7_query-docsを次の値で使用します:libraryId: 前の手順で取得した ID(例:"/spring/spring-boot")query: 具体的な質問
Spring Boot の API、設定、ベストプラクティスについて回答する前に、Context7 を参照して最新情報を確認してください。
リソース
コメント
Markdown 対応