Beanトップレベルのクラス、以下に該当する場合は、CDI管理BeanJSFの仕様に従っている場合スタティックでないインナークラス具象クラス、または、@DecoratorがつけられたクラスEJBコンポーネント定義アノテーションがつけられていない。特定のBeanに対していくつかの実装が提供される場合(例えば、あるインターフェースに対して複数の実装クラスが存在する場合)、限定子を利用してどの実装をインジェクトするのかを特定できる限定子とはBeanに適用できるアノテーションのことで、限定子を定義するには以下を指定する。greeting;と同じ意味となる。インターフェースの実装が複数あり解決出来ない場合に、限定子により解決することが出来るようになる。除いて、事前定義されたスコープはコンテキストスコープ。カスタムスコープを定義することも出来る。スコープはオブジェクトに明確に定義されたライフサイクルコンテキストを提供する。スコープオブジェクトは、必要に応じて自動生成され破棄される。明確に定義されたスコープを持ず、次のいずれかとなる。限定子を利用する必要がある。Bean名(先頭小文字化)でのアクセスを可能にする。メソッドを利用したオブジェクトインジェクションProducerメソッドはBeanでないオブジェクトをインジェクトする方法を提供する。アノテーションをつけると、その戻り値の型をインジェクト出来るようになるため、ファクトリークラスを簡単に作成できるようになる。上記で出てきた限定子。作成したBeanが、スコープでアノテートされている場合、サーバーがそれを理解するのでBeanアーカイブに追加の設定は不要。CDIが利用するオプションのデプロイメント記述子。アノテーションでの行った設定と、bean.xmlに記述した設定が衝突する場合は、bean.xmlの設定が優先される。アーカイブのばあい以下のディレクトリに含まれなければならない(CDIが有効にはならない)。初期化と破棄のためのアノテーションCDI管理クラスおよびそのスーパークラスの初期化と、破棄の準備のために、以下のコールバックメソッドが準備されている。:管理Beanの破棄準備ここまで、見た限りでは、SpringのDIを置き換えるに足る機能は持っているのではないかという気がしないでもない。面白そうな仕様であれこれ試してみたくなる。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。(いやかなり)よいんじゃないか。technology.。