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