CDI を使用した Quarkus での依存性インジェクション: ArC、スコープ、修飾子、ビルドタイム インジェクション
依存関係の注入 (DI) は、最新のエンタープライズ Java アプリケーション開発の基盤です。長年にわたり、Java 開発者は Spring IoC (制御の反転) または Hibernate Weld や OpenWebBeans などの標準の Jakarta EE CDI (コンテキストと依存関係の挿入) コンテナーに依存して、コンポーネントのライフサイクルを分離し、サービスの依存関係を管理し、構成プロパティを挿入してきました。
しかし、エンタープライズ アプリケーションがクラウドネイティブ マイクロサービス、Docker と Kubernetes によるコンテナ化、およびサーバーレス実行モデル (AWS Lambda、Knative) に移行するにつれて、従来の依存関係注入コンテナーには、重いランタイム リフレクションと高いメモリ オーバーヘッドという重大な欠陥が露呈しました。
Quarkus とその軽量 CDI エンジン ArC を登場させます。 Kubernetes と GraalVM のネイティブ コンパイル用にゼロから構築された Quarkus は、リフレクション、クラスパス スキャン、Bean グラフのワイヤリングをアプリケーションの実行時からビルド時に移行することで、依存関係の注入を再定義します。
この詳細ガイドでは、CDI を使用した Quarkus での依存性注入について詳しく説明し、ArC コンテナの内部機構、CDI スコープ、カスタム修飾子、プロデューサー、インターセプター、イベント駆動型オブザーバー、プログラムによるルックアップ、および高パフォーマンスのクラウドネイティブ Java アプリケーションを作成するためのベスト プラクティスについて説明します。
Java
Quarkus
CDI
ArC
Dependency Injection
Microservices
Cloud Native
Software Architecture
GraalVM