汎用ソフトウェア開発⭐ リポ 4品質スコア 71/100
building-spring-enterprise
Spring Boot 3以上を使用した本番環境レベルのアプリケーション開発における実践的なアプローチです。手順的な実行フロー、ツール呼び出しのシーケンス、および言語慣用的な優秀性に焦点を当てています。開発プロセスの効率化とベストプラクティスの適用により、堅牢で保守性の高いアプリケーション構築が実現できます。
description の原文を見る
Tactical Blueprint for production-grade Spring Boot 3+ applications. Focuses on procedural execution, tool-calling sequences, and idiomatic excellence.
SKILL.md 本文
機能マニフェスト: Spring Boot Enterprise
このブループリントは、Antigravity Agent Factory における高精度の Spring Boot 3+ サービスのエンジニアリング、テスト、デプロイメントに関する手順的な真実を提供します。
運用環境
- JDK: 21 (LTS) -
records、sealed classes、switch expressionsの必須使用。 - ビルド: Maven 3.9+ (ラップ済み)。
- 主要スタック: Boot 3.4、Spring Data JPA (PostgreSQL)、Spring Security (OIDC)、Micrometer (OTEL)。
プロセス
エンタープライズグレードの Spring Boot アプリケーションを構築するには、以下の手順に従ってください:
手順 1: サービスのスキャフォルディング
標準的なファクトリ衛生を確保するために、以下のステップを順序立てて実行してください:
- 生成:
mvn archetype:generate -Dfilter=antigravity-service-patternを実行します(または内部のscaffold.pyを使用)。 - 構造確認:
src/main/javaがcom.antigravity.[domain].[service]パターンに従っていることを確認します。 - 真実確認:
pom.xmlにspring-boot-starter-validationとspring-boot-starter-actuatorが含まれていることを検証します。
手順 2: ドメイン機能の実装 (Red-Green-Refactor)
- Red: スライステストを作成します(例: API の場合は
@WebMvcTest、永続化の場合は@DataJpaTest)。- ツール:
mvn test -Dtest=MyFeatureTest
- ツール:
- Green: サービスロジックを実装します。
- 公理チェック: DTO には
recordを使用します。Entity をコントローラーを通して公開しないようにします。
- 公理チェック: DTO には
- Refactor: 静的解析を実行します。
- ツール:
mvn checkstyle:checkとmvn pmd:check。
- ツール:
手順 3: レジリエンスと可観測性のセットアップ
- Actuator を追加:
/actuator/healthと/actuator/metricsが公開されていても保護されていることを確認します。 - ロギング設定: ELK/Loki 向けに JSON 出力を備えた
logback-spring.xmlを使用します。 - サーキットブレーカー: すべての外部 API 呼び出しに Resilience4j を使用します。
プロセス (障害状態とリカバリー)
| 症状 | 原因の可能性 | リカバリー操作 |
|---|---|---|
BeanDefinitionOverrideException | コンテキスト内で重複する Bean 名。 | @Configuration クラス内の @Component と @Bean の重複をチェックします。@Primary は最後の手段としてのみ使用してください。 |
LazyInitializationException | トランザクション外でプロキシにアクセス。 | 決して spring.jpa.open-in-view=true を使用しないでください。@Service レイヤー内または EntityGraph で DTO マッピングを使用します。 |
ConnectionTimeout | DB コネクションプールの飽和。 | hikari.maximum-pool-size をチェックします。すべての DB ストリーム/コネクションが try-with-resources 内にあることを確認します。 |
慣例的コードパターン (金標準)
"Truthful" Record DTO
public record UserResponse(
UUID id,
@NotBlank String username,
@Email String email,
LocalDateTime createdAt
) {}
"Observable" Service
@Service
@RequiredArgsConstructor
@Transactional(readOnly = true)
public class OrderService {
private final ObservationRegistry observationRegistry;
@Transactional
public OrderResponse placeOrder(OrderRequest request) {
return Observation.createNotStarted("order.place", observationRegistry)
.observe(() -> {
// Business logic here
return new OrderResponse(...);
});
}
}
前提条件
| アクション | コマンド |
|---|---|
| ビルド & チェック | mvn clean verify |
| 高速テストループ | mvn test -DskipITs |
| 脆弱性チェック | mvn ossindex:audit |
| コード フォーマット | mvn spotless:apply |
使用時期
このブループリントは、Java/Spring サービスを構築、リファクタリング、またはデバッグする際に使用してください。これは「Spring とは何か」に対する「どのように構築するか」の権威的なソースです。
ベストプラクティス
- システム公理 (A1-A5) に従ってください
- すべての変更が検証可能であることを確認してください
- 将来のメンテナンスに備えて複雑なロジックを文書化してください
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- gitwalter
- ライセンス
- MIT
- 最終更新
- 2026/4/13
Source: https://github.com/gitwalter/antigravity-agent-factory / ライセンス: MIT