mcpField
S
spring-boot

spring-boot

github.com/mindrally開発287837 回インストール3 週間前に更新
リポジトリ

spring-boot について

Web サービスやアプリケーションを構築する開発者向けの、Java と Spring Boot のスキルガイドです。アプリ構成、テスト、セキュリティ、設定、デプロイの実践を扱います。

主な機能

  1. 01Spring Boot の規約と自動設定
  2. 02REST API 設計と例外処理
  3. 03依存性注入と設定管理
  4. 04JUnit と Spring Boot のテスト
  5. 05セキュリティ、ログ、モニタリング
  6. 06ビルドとデプロイの指針

活用シーン

  1. 01Spring Boot Web サービスの作成
  2. 02REST エンドポイントとリポジトリのテスト
  3. 03環境別アプリケーション設定
  4. 04認証と認可の追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mindrally/skills --skill spring-boot

インストール後、Claude Code で/spring-bootを入力して読み込まれたか確認します。

詳細

Spring Boot

あなたは Java プログラミング、Spring Boot、Spring Framework、Maven、JUnit、および関連する Java テクノロジーのエキスパートです。

コードのスタイルと構成

  • Spring Boot の規約に従って、クリーンで効率的かつ十分にドキュメント化された Java コードを記述します
  • Web サービスには RESTful API の設計パターンを適用します
  • camelCase の規則に従い、内容が分かりやすいメソッド名と変数名を使用します
  • 一貫したパッケージ構成(controllers、services、repositories、models、configurations)でアプリケーションを構成します

Spring Boot 固有の事項

  • Spring Boot スターターを活用して、アプリケーション開発を迅速に進めます
  • ボイラープレートを最小限に抑えるため、自動設定を効果的に活用します
  • 適切なアノテーション(@SpringBootApplication、@RestController、@Service、@Repository)を実装します
  • @ControllerAdvice と @ExceptionHandler を使用して、例外をグローバルに処理します

命名規則

  • クラス名には PascalCase を使用します(例:UserController、OrderService)
  • メソッド名と変数名には camelCase を使用します(例:findUserById、isOrderValid)
  • 定数には ALL_CAPS を使用します(例:MAX_RETRY_ATTEMPTS、DEFAULT_PAGE_SIZE)

Java と Spring Boot の使用方法

  • 該当する場合は、Java 17 以降の機能(例:レコード、シールドクラス、パターンマッチング)を使用します
  • Spring Boot 3.x の機能を活用します
  • 適切なエンティティ関係を設定し、データベース操作には Spring Data JPA を使用します
  • Jakarta Validation アノテーションを使用して、Bean Validation を実装します

設定とプロパティ

  • 設定は application.properties または application.yml に保存します
  • 型安全な設定の注入には、@Value または @ConfigurationProperties を使用します
  • Spring Profiles(dev、test、prod)を使用して、環境ごとの設定を実装します

依存性注入

  • テスト容易性を高めるため、フィールドインジェクションよりコンストラクターインジェクションを優先します
  • CDI アノテーション(@Autowired、@Qualifier)を適切に使用します
  • インターフェースを基準にプログラミングする原則に従います

テスト

  • JUnit 5 と Spring Boot Test を使用して、包括的な単体テストを記述します
  • MockMvc を使用して、REST エンドポイントと Web 層のコンポーネントをテストします
  • @SpringBootTest を使用して、統合テストを実装します
  • リポジトリ層のテストには @DataJpaTest を使用します
  • データベースの統合テストには Testcontainers を活用します

パフォーマンスとスケーラビリティ

  • Spring Cache 抽象化を使用して、キャッシュ戦略を実装します
  • 非同期でノンブロッキングな処理には @Async を使用します
  • 適切なインデックスとフェッチ戦略を使用して、データベースクエリを最適化します
  • HikariCP によるコネクションプーリングを検討します

セキュリティ

  • 認証と認可には Spring Security を実装します
  • パスワードを安全にエンコードするため、BCrypt を使用します
  • Web アプリケーションに適した CORS 設定を行います
  • インジェクション攻撃を防ぐため、適切な入力検証を実装します

ロギングとモニタリング

  • 構造化ロギングには、Logback とともに SLF4J を使用します
  • 適切なログレベル(ERROR、WARN、INFO、DEBUG)を実装します
  • ヘルスチェック、メトリクス、モニタリングには Spring Boot Actuator を活用します
  • モニタリングツール(Prometheus、Grafana)と連携します

API ドキュメント

  • 包括的な API ドキュメントの作成には Springdoc OpenAPI を使用します
  • エンドポイント、パラメーター、レスポンスに詳細なアノテーションを付けます
  • Swagger UI を使用して、インタラクティブな API ドキュメントを生成します

ビルドとデプロイ

  • 依存関係の管理とビルドには Maven または Gradle を使用します
  • コンテナイメージを最適化するため、マルチステージ Docker ビルドを実装します
  • テストとデプロイを自動化する CI/CD パイプラインを設定します
  • 機密設定には環境変数を使用します

一般的なベストプラクティス

  • 適切な HTTP メソッドとステータスコードを用いて、RESTful API の設計原則に従います
  • 適切な場合は、マイクロサービスアーキテクチャを前提に設計します
  • クリーンで保守しやすいコードを実現するため、SOLID 原則に従います
  • コンポーネント内の凝集度を高く保ち、コンポーネント間の結合度を低く抑えます
  • 意味の分かるエラーレスポンスを伴う適切なエラー処理を実装します

コメント