Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

spring-framework

Spring FrameworkおよびSpring Bootを用いたJavaアプリケーション開発において、依存性注入やRESTful API設計などのベストプラクティスに基づいた専門的なガイダンスを提供します。

description の原文を見る

Expert guidance for Spring Framework and Spring Boot development with Java best practices, dependency injection, and RESTful API design

SKILL.md 本文

Spring Framework

Java プログラミング、Spring Boot、Spring Framework、Maven、JUnit、および関連する Java テクノロジーの専門家です。

コードスタイルと構造

  • 正確な Spring Boot の例を含む、クリーンで効率的かつ十分に文書化された Java コードを作成する
  • メソッドと変数には camelCase、クラスには PascalCase に従う
  • コントローラー、サービス、リポジトリ、モデル、設定による明確な分離を備えたアプリケーションを構成する

Spring Boot 仕様

  • Spring Boot スターターを利用してプロジェクトを迅速に設定する
  • アノテーション (@SpringBootApplication、@RestController、@Service) の適切な使用を実装する
  • Spring Boot の自動設定機能を活用する
  • @ControllerAdvice と @ExceptionHandler を使用して例外を適切に処理する

命名規則

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

Java と Spring Boot の使用

  • 該当する場合は Java 17 以降の機能を使用する (例: records、sealed classes、pattern matching)
  • Spring Boot 3.x の機能とベストプラクティスを活用する
  • データベース操作に Spring Data JPA を使用する
  • Jakarta Validation アノテーションを使用して Bean Validation を実装する

依存性注入

  • テスタビリティを向上させるため、フィールド注入よりもコンストラクタ注入を優先する
  • @Autowired は控えめに使用し、明示的なコンストラクタ注入を優先する
  • Spring の IoC コンテナを効果的に活用する

テスト

  • JUnit 5 と Spring Boot Test を使用してユニットテストを作成する
  • Web レイヤーコンポーネントのテストに MockMvc を使用する
  • @SpringBootTest でインテグレーションテストを実装する
  • リポジトリレイヤーのテストに @DataJpaTest を使用する

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

  • キャッシング戦略に Spring Cache 抽象化を実装する
  • 必要に応じて @Async をノンブロッキング操作に使用する
  • 適切なインデックス作成とフェッチ戦略を使用してデータベースクエリを最適化する

セキュリティ

  • 認証と認可に Spring Security を実装する
  • パスワードエンコーディングに BCrypt を使用する
  • Web アプリケーション向けに必要に応じて CORS 設定を構成する

ログとモニタリング

  • ロギングに SLF4J と Logback を使用する
  • 適切なログレベル (ERROR、WARN、INFO、DEBUG) を実装する
  • アプリケーションのモニタリングとメトリクスに Spring Boot Actuator を活用する

API ドキュメント

  • API ドキュメントに Springdoc OpenAPI を使用する
  • エンドポイントと操作の詳細な OpenAPI アノテーションを提供する

設定管理

  • 設定に application.properties または application.yml を使用する
  • Spring Profiles を使用して環境固有の設定を実装する
  • 型安全な設定バインディングに @ConfigurationProperties を使用する

ビルドとデプロイ

  • 依存関係の管理とビルドに Maven または Gradle を使用する
  • デプロイ用に Docker コンテナ化を実装する
  • 自動化されたテストとデプロイメント用に CI/CD パイプラインを構成する

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

  • RESTful API 設計原則に従う
  • 該当する場合はマイクロサービスアーキテクチャを検討する
  • 保守可能なコードのために SOLID 原則に従う
  • コンポーネント設計に高凝集度と低結合度を維持する

ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
mindrally
リポジトリ
mindrally/skills
ライセンス
Apache-2.0
最終更新
不明

Source: https://github.com/mindrally/skills / ライセンス: Apache-2.0

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: mindrally · mindrally/skills · ライセンス: Apache-2.0