パッケージ jakarta.annotation
アノテーション型 PostConstruct
@DocumentedSE @RetentionSE(RUNTIMESE) @TargetSE(METHODSE) public @interface PostConstruct
PostConstruct
アノテーションは、初期化を実行するために依存性注入が行われた後に実行する必要があるメソッドで使用されます。このメソッドは、クラスが稼働する前に呼び出す必要があります。このアノテーションは、依存性注入をサポートするすべてのクラスでサポートされている必要があります。PostConstruct
アノテーションが付けられたメソッドは、クラスが注入されるリソースをリクエストしていなくても呼び出す必要があります。このアノテーションを付けることができるのは、特定のクラスの 1 つのメソッドだけです。PostConstruct
アノテーションが適用されるメソッドは、以下の条件をすべて満たしている必要があります。- メソッドは、インターセプターの場合を除いて、パラメーターを持ってはなりません。インターセプターの場合、Jakarta Interceptors 仕様で定義されている
InvocationContext
オブジェクトを取ります。 - インターセプタークラスまたはインターセプタークラスのスーパークラスで定義されたメソッドには、次のいずれかのシグネチャーが必要です。
void< METHOD>(InvocationContext)
オブジェクト < METHOD>(InvocationContext)が例外をスローします
メモ: PostConstruct インターセプターメソッドはアプリケーション例外をスローすることはできませんが、ライフサイクルイベントに加えて同じインターセプターメソッドがビジネスメソッドまたはタイムアウトメソッドに介入する場合は、java.lang.Exception を含むチェック例外をスローするように宣言できます。PostConstruct インターセプターメソッドが値を返す場合、その値はコンテナーによって無視されます。
- 非インターセプタークラスで定義されたメソッドには、次のシグネチャーが必要です。
void< METHOD>()
PostConstruct
アノテーションが適用されるメソッドは、public、protected、package private、private のいずれかです。- メソッドは、アプリケーションクライアントを除き、静的であってはなりません。
- メソッドは final であってはなりません。
- メソッドがチェックされていない例外をスローする場合、例外がインターセプターによって処理される場合を除いて、クラスをサービス状態にしてはなりません。
- 導入:
- 1.6、共通のアノテーション 1.0
- 関連事項:
PreDestroy
,Resource
- メソッドは、インターセプターの場合を除いて、パラメーターを持ってはなりません。インターセプターの場合、Jakarta Interceptors 仕様で定義されている