spring-boot-engineer について
spring-boot-engineerは、Spring Boot 3+によるJavaアプリケーションとマイクロサービス開発向けのスキルです。API、セキュリティ、データアクセス、リアクティブ開発、クラウドネイティブな実践を扱います。
主な機能
- 01Spring WebとWebFluxによるAPI開発
- 02Spring Securityの設定
- 03Spring Dataリポジトリ
- 04リアクティブアプリケーションのパターン
- 05クラウドネイティブな監視と設定
活用シーン
- 01Spring Bootマイクロサービスの構築
- 02検証機能付きREST APIの作成
- 03エンドポイントの認証と認可の設定
- 04Project Reactorによるリアクティブサービス開発
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill spring-boot-engineerインストール後、Claude Code で/spring-boot-engineerを入力して読み込まれたか確認します。
詳細
Spring Boot エンジニア
目的
Spring Boot 3+ を使用した本番品質の Java アプリケーション構築に関する専門知識を提供します。マイクロサービスアーキテクチャ、クラウドネイティブパターン、リアクティブプログラミング、仮想スレッドを含む最新の Java 機能の活用を専門としています。
使用する場面
- Spring Boot アプリケーションやマイクロサービスを構築する
- Spring Web または WebFlux で REST API を実装する
- 認証/認可のために Spring Security を設定する
- Spring Data JPA、MongoDB、または R2DBC をセットアップする
- Spring Cloud パターン(Config、Gateway、Circuit Breaker)を実装する
- Spring Boot 3.2+ で仮想スレッドを使用する
- Project Reactor でリアクティブアプリケーションを構築する
- Spring Kafka または RabbitMQ でメッセージングを統合する
クイックスタート
次の場合にこのスキルを呼び出してください:
- Spring Boot アプリケーションやマイクロサービスを構築する
- Spring Web または WebFlux で REST API を実装する
- 認証/認可のために Spring Security を設定する
- Spring Data リポジトリをセットアップする
- Spring Cloud パターンを実装する
次の場合は呼び出さないでください:
- Spring を使用しない一般的な Java の質問 → java-architect を使用してください
- Kubernetes のデプロイ → kubernetes-specialist を使用してください
- データベース設計 → database-administrator を使用してください
- フロントエンド開発 → 適切なフロントエンドスキルを使用してください
判断フレームワーク
Spring Boot Task?
├── API Development → Spring Web (blocking) vs WebFlux (reactive)
├── Data Access → JPA (relational) vs MongoDB (document) vs R2DBC (reactive)
├── Security → OAuth2/OIDC vs JWT vs Basic Auth
├── Messaging → Kafka (high throughput) vs RabbitMQ (routing)
├── Service Communication → REST vs gRPC vs messaging
└── Configuration → Spring Cloud Config vs Kubernetes ConfigMaps
主なワークフロー
1. マイクロサービスの開発
- Spring Initializr と必要なスターターを使用してプロジェクトを初期化します
- ドメインモデルと DTO を定義します
- Spring Data でリポジトリ層を実装します
- ビジネスロジックを含むサービス層を作成します
- 適切なエラー処理を備えた REST コントローラーを構築します
- バリデーション、セキュリティ、オブザーバビリティを追加します
- 単体、統合、コントラクトの各レベルでテストを作成します
- クラウドへのデプロイ向けに設定します(ヘルス、メトリクス、設定)
2. Spring Security の設定
- spring-boot-starter-security の依存関係を追加します
- セキュリティフィルターチェーンの設定を定義します
- 認証プロバイダー(JWT、OAuth2、LDAP)を設定します
- エンドポイントの認可ルールをセットアップします
- 必要に応じてカスタム UserDetailsService を実装します
- CORS と CSRF の設定を追加します
- セキュリティ設定を十分にテストします
3. リアクティブアプリケーションの開発
- Spring Web の代わりに WebFlux を使用します
- リアクティブなデータベースアクセスのために R2DBC を設定します
- コントローラーとサービスから Mono/Flux を返します
- ノンブロッキング HTTP 呼び出しに WebClient を使用します
- バックプレッシャー処理を実装します
- StepVerifier でテストします
- リアクティブに対応したオブザーバビリティで監視します
ベストプラクティス
- フィールドインジェクションではなくコンストラクターインジェクションを使用します
- プロファイルと ConfigMaps を使って設定を外部化します
- @ControllerAdvice で適切な例外処理を実装します
- Actuator エンドポイントを有効にして、ヘルスとメトリクスを取得します
- 統合テストに Testcontainers を使用します
- I/O バウンドなワークロードには仮想スレッドを活用します(Spring Boot 3.2+)
アンチパターン
- フィールドインジェクション → テスト容易性のためにコンストラクターインジェクションを使用します
- リアクティブチェーン内でのブロッキング → リアクティブパイプラインをノンブロッキングに保ちます
- 汎用的な例外の捕捉 → 適切な具体的例外を処理します
- 設定のハードコーディング → 環境変数で外部化します
- ヘルスチェックの欠如 → Actuator のヘルスエンドポイントを必ず公開します
コメント
Markdown 対応