2.1.1 javax.annotationパッケージに含まれるアノテーションのサポート範囲

javax.annotationパッケージのアノテーションの適用範囲を説明します。ここでは,コンポーネントごとに記述できるアノテーションを説明します。

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

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

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

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

アノテーション名Servlet仕様JSP仕様その他のクラス
サーブレットサーブレットフィルタイベントリスナJSPファイルタグハンドラタグライブラリイベントリスナ
クラシックタグハンドラシンプルタグハンドラ
@PostConstruct×
@PreDestroy×
@Resource×
@Resources×
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
-:標準仕様で対応していない。

(2) WARファイル(Servlet 2.4対応)

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

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

アノテーション名Servlet仕様JSP仕様その他のクラス
サーブレットサーブレットフィルタイベントリスナJSPファイルタグハンドラタグライブラリイベントリスナ
クラシックタグハンドラシンプルタグハンドラ
@Resource※1※2×
@Resources※1×
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
-:標準仕様で対応していない。
注※1
アプリケーションサーバでは,EJB2.1仕様,またはServlet2.4仕様のアプリケーションでもサポートしています。
注※2
Servlet2.4仕様のWebアプリケーションではメソッドおよびフィールドに対するDIができません。

(3) EJB-JARファイル(EJB3.0対応)

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

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

アノテーション名Enterprise Bean例外クラスその他のクラス
インタフェースSession BeanEntity BeanMessage-driven Beanインターセプタ
デフォルトインターセプタ以外デフォルトインターセプタ
@PostConstruct×
@PreDestroy×
@Resource×
@Resources×
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
-:標準仕様で対応していない。

(4) EJB-JARファイル(EJB2.1対応)

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

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

アノテーション名Enterprise Bean例外クラスその他のクラス
インタフェースSession BeanEntity BeanMessage-driven Bean
@Resource×
@Resources×
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
-:標準仕様で対応していない。
注※
アプリケーションサーバでは,EJB2.1仕様,またはServlet2.4仕様のアプリケーションでもサポートしています。

(5) ライブラリJARファイル(サーブレット/JSP)

ライブラリJARのサーブレットまたはJSPに記述できるアノテーションの一覧を示します。

表2-5 ライブラリJAR(サーブレット/JSP)に記述できるアノテーション(javax.annotationパッケージ)

アノテーション名Servlet仕様JSP仕様
サーブレットサーブレットフィルタイベントリスナJSPファイルタグハンドラタグライブラリイベントリスナ
クラシックタグハンドラシンプルタグハンドラ
@PostConstruct×
@PreDestroy×
@Resource×
@Resources×
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
-:標準仕様で対応していない。

(6) ライブラリJARファイル(Enterprise Bean/例外クラス/その他のクラス)

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

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

アノテーション名Enterprise Bean例外クラスその他のクラス
インタフェースSession BeanEntity BeanMessage-driven Beanインターセプタ
@PostConstruct×
@PreDestroy×
@Resource×
@Resources×
(凡例)
○:対応する。
×:アプリケーションサーバでは対応しない。
-:標準仕様で対応していない。