CDIのアノテーションのサポート一覧を次の表に示します。
パッケージ | 含まれるアノテーション |
---|---|
javax.decorator | @Decorator |
@Delegate | |
javax.enterprise.context | @ApplicationScoped |
@ConversationScoped | |
@Dependent | |
@NormalScope | |
@RequestScoped | |
@SessionScoped | |
javax.enterprise.event | @Observes |
javax.enterprise.inject | @Alternative |
@Any | |
@Default | |
@Disposes | |
@Model | |
@New | |
@Produces | |
@Specializes | |
@Stereotype | |
@Typed | |
javax.inject | @inject |
@Named | |
@Qualifier | |
@Scope | |
@Singleton |
ここでは,コンポーネントごとに記述できるアノテーション(@injectアノテーション)を説明します。なお,@injectアノテーション以外のアノテーションについては,CDIに依存します。CDIに依存するアノテーションについては,CDI仕様のドキュメントを参照してください。
WARファイルに記述できるアノテーションの一覧を示します。
表2-24 WARファイル(Servlet 3.0対応)に記述できるアノテーション(javax.injectパッケージ)
アノテーション名 | Servlet仕様 | JSP仕様 | 例外クラス | ManagedBean(JSF) | その他のクラス | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
サーブレット | サーブレット(API) | サーブレットフィルタ | サーブレットフィルタ(API) | イベントリスナ | イベントリスナ(API) | JSPファイル | タグハンドラ | タグライブラリイベントリスナ | |||||
クラシックタグハンドラ | シンプルタグハンドラ | ||||||||||||
@Inject | ○ | - | ○ | - | ○ | - | × | × | × | × | × | ○ | ○※ |
EJB-JARファイルに記述できるアノテーションの一覧を示します。
表2-25 EJB-JARファイル(EJB3.0対応)に記述できるアノテーション(javax.injectパッケージ)
アノテーション名 | Enterprise Bean | 例外クラス | その他のクラス | |||||
---|---|---|---|---|---|---|---|---|
インタフェース | Session Bean | Entity Bean | Message-driven Bean | インターセプタ | ||||
デフォルトインターセプタ以外 | デフォルトインターセプタ | |||||||
@Inject | × | ○ | × | × | × | × | × | ○※ |
ライブラリJARのサーブレットまたはJSPに記述できるアノテーションはありません。
ライブラリJARのEnterprise Bean,例外クラス,またはその他のクラスに記述できるアノテーションの一覧を示します。
表2-26 ライブラリJAR(Enterprise Bean/例外クラス/その他のクラス)に記述できるアノテーション(javax.injectパッケージ)
アノテーション名 | Enterprise Bean | 例外クラス | その他のクラス | ||||
---|---|---|---|---|---|---|---|
インタフェース | Session Bean | Entity Bean | Message-driven Bean | インターセプタ | |||
@Inject | × | × | × | × | × | × | ○※ |