パッケージ jakarta.annotation

アノテーションインターフェース PostConstruct


@DocumentedSE @RetentionSE(RUNTIMESE) @TargetSE(METHODSE) public @interface PostConstruct
PostConstruct アノテーションは、初期化を実行するために依存関係の注入が行われた後に実行する必要があるメソッドで使用されます。このメソッドは、クラスがサービスを開始する前に呼び出す必要があります。このアノテーションは、依存関係の注入をサポートするすべてのクラスでサポートされる必要があります。クラスがリソースの注入をリクエストしない場合でも、PostConstruct アノテーションが付けられたメソッドを呼び出す必要があります。このアノテーションを付けることができるのは、特定のクラス内の 1 つのメソッドのみです。PostConstruct アノテーションが適用されるメソッドは、次の条件をすべて満たす必要があります。
  • メソッドは、インターセプターの場合を除いて、パラメーターを持ってはなりません。インターセプターの場合、Jakarta Interceptors 仕様で定義されている InvocationContext オブジェクトを取ります。
  • インターセプタークラスまたはインターセプタークラスのスーパークラスで定義されたメソッドには、次のいずれかのシグネチャーが必要です。

    void <METHOD>(InvocationContext)

    Object <METHOD>(InvocationContext) throws Exception

    メモ: PostConstruct インターセプターメソッドはアプリケーション例外をスローすることはできませんが、ライフサイクルイベントに加えて同じインターセプターメソッドがビジネスメソッドまたはタイムアウトメソッドに介入する場合は、java.lang.Exception を含むチェック例外をスローするように宣言できます。PostConstruct インターセプターメソッドが値を返す場合、その値はコンテナーによって無視されます。

  • 非インターセプタークラスで定義されたメソッドには、次のシグネチャーが必要です。

    void <METHOD>()

  • PostConstruct アノテーションが適用されるメソッドは、public、protected、package private、private のいずれかです。
  • メソッドは、アプリケーションクライアントを除き、静的であってはなりません。
  • メソッドは final であってはなりません。
  • メソッドがチェックされていない例外をスローする場合、例外がインターセプターによって処理される場合を除いて、クラスをサービス状態にしてはなりません。
導入:
1.6、共通のアノテーション 1.0
関連事項: