spring-framework について
Java と Spring Framework の開発ガイドスキルです。Spring Boot、テスト、セキュリティ、パフォーマンス、デプロイを扱い、Spring アプリケーションの構築と保守を支援します。
主な機能
- 01Spring Boot の設定とアノテーション
- 02依存性注入とレイヤー構成
- 03JUnit と Spring のテスト
- 04セキュリティ、ログ、監視の指針
- 05設定、ビルド、デプロイの実践
活用シーン
- 01Spring Boot アプリの構成設計
- 02Web 層とデータ層のテスト
- 03認証と認可の設定
- 04アプリの監視とデプロイの準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill spring-frameworkインストール後、Claude Code で/spring-frameworkを入力して読み込まれたか確認します。
詳細
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 以降の機能(例:レコード、sealed クラス、パターンマッチング)を使用します
- 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 設定を構成します
ロギングとモニタリング
- ロギングには Logback と組み合わせて SLF4J を使用します
- 適切なログレベル(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 原則に従います
- コンポーネント設計では高い凝集度と低い結合度を維持します
コメント
Markdown 対応