-
@Documented @Retention(RUNTIME) @Target(METHOD) public @interface PostConstruct
PostConstruct注釈は、依存性注入後に初期化のために実行する必要のあるメソッドに対して使用します。 このメソッドは、クラスが使用される前に呼び出します。 この注釈は、依存性注入をサポートするすべてのクラスでサポートされている必要があります。 PostConstruct注釈が付いているメソッドは、注入するリソースをクラスが一切要求しない場合でも呼び出す必要があります。 この注釈を付加できるメソッドは1つだけです。 PostConstruct注釈の適用先のメソッドは、次の基準をすべて満たす必要があります。- インタセプタ仕様で定義されたようにInvocationContextオブジェクトを指定するインタセプタの場合を除き、このメソッドにはパラメータを指定してはいけません。
- インタセプタ・クラスで定義されているメソッドは、次のシグネチャのいずれかを持つ必要があります。
void <METHOD>(InvocationContext)
Object <METHOD>(InvocationContext) throws Exception
注: PostConstructインタセプタ・メソッドはアプリケーション例外をスローしてはいけませんが、java.lang.Exceptionを含むチェック例外をスローするために宣言することはできます(ビジネスまたはタイムアウト・イベントでライフサイクル・イベントに加えてその同じインタセプタ・メソッドが介在する場合)。 PostConstructインタセプタ・メソッドが値を返す場合、コンテナはそれを無視します。
- インタセプタではないクラスで定義されているメソッドは、次のシグネチャを持つ必要があります。
void <METHOD>()
- PostConstructの適用先のメソッドは、public、protected、package privateまたはprivateにできます。
- アプリケーション・クライアントの場合を除き、このメソッドをstaticにしてはいけません。
- このメソッドは、finalにできます。
- このメソッドが非チェック例外をスローする場合は、EJBで例外の処理および例外からの回復が可能である場合を除いて、このクラスを使用してはいけません。
- 導入されたバージョン:
- 1.6, Common Annotations 1.0
- 関連項目:
PreDestroy
,Resource