2.1 対応するアノテーションのサポート範囲
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 対応)
WAR ファイルに記述できるアノテーションの一覧を示します。
表 2‒24 WAR ファイル(Servlet 3.0 対応)に記述できるアノテーション(javax.inject パッケージ)
アノテー ション名
Servlet 仕様 JSP 仕様
例外 クラ ス
Man age dBe an
(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 Bean Entity Bean
Message-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 Bean
Entity Bean
Messag e-driven Bean
インター セプタ
@Inject × × × × × × ○※
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
注※
該当するコンポーネントが CDI の機能を含むコンポーネントの場合だけ使用できます。