2.1.11 CDIのアノテーションのサポート一覧

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仕様のドキュメントを参照してください。

<この項の構成>
(1) WARファイル(Servlet 3.0対応)
(2) EJB-JARファイル(EJB3.1対応)
(3) ライブラリJAR(サーブレット/JSP)
(4) ライブラリJAR(Enterprise Bean/例外クラス/その他のクラス)

(1) WARファイル(Servlet 3.0対応)

WARファイルに記述できるアノテーションの一覧を示します。

表2-24 WARファイル(Servlet 3.0対応)に記述できるアノテーション(javax.injectパッケージ)

アノテーション名Servlet仕様JSP仕様例外クラスManagedBean(JSF)その他のクラス
サーブレットサーブレット(API)サーブレットフィルタサーブレットフィルタ(API)イベントリスナイベントリスナ(API)JSPファイルタグハンドラタグライブラリイベントリスナ
クラシックタグハンドラシンプルタグハンドラ
@Inject×××××
(凡例)
○:対応する。
-:標準仕様で対応していない。
×:アプリケーションサーバでは対応しない。
注※
該当するコンポーネントがCDIの機能を含むコンポーネントの場合だけ使用できます。

(2) EJB-JARファイル(EJB3.1対応)

EJB-JARファイルに記述できるアノテーションの一覧を示します。

表2-25 EJB-JARファイル(EJB3.0対応)に記述できるアノテーション(javax.injectパッケージ)

アノテーション名Enterprise Bean例外クラスその他のクラス
インタフェースSession BeanEntity BeanMessage-driven Beanインターセプタ
デフォルトインターセプタ以外デフォルトインターセプタ
@Inject××××××
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
注※
該当するコンポーネントがCDIの機能を含むコンポーネントの場合だけ使用できます。

(3) ライブラリJAR(サーブレット/JSP)

ライブラリJARのサーブレットまたはJSPに記述できるアノテーションはありません。

(4) ライブラリJAR(Enterprise Bean/例外クラス/その他のクラス)

ライブラリJARのEnterprise Bean,例外クラス,またはその他のクラスに記述できるアノテーションの一覧を示します。

表2-26 ライブラリJAR(Enterprise Bean/例外クラス/その他のクラス)に記述できるアノテーション(javax.injectパッケージ)

アノテーション名Enterprise Bean例外クラスその他のクラス
インタフェースSession BeanEntity BeanMessage-driven Beanインターセプタ
@Inject××××××
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
注※
該当するコンポーネントがCDIの機能を含むコンポーネントの場合だけ使用できます。