インターフェース BeanRegistrationAotProcessor

すべての既知の実装クラス:
AutowiredAnnotationBeanPostProcessorCommonAnnotationBeanPostProcessorConfigurationClassPostProcessorInitDestroyAnnotationBeanPostProcessorPersistenceAnnotationBeanPostProcessor
関数インターフェース:
これは関数インターフェースであるため、ラムダ式またはメソッド参照の割り当てターゲットとして使用できます。

@FunctionalInterfaceSE public interface BeanRegistrationAotProcessor
RegisteredBean インスタンスを処理することによって Bean 登録に貢献する AOT プロセッサー。

BeanRegistrationAotProcessor 実装は、 "META-INF/spring/aot.factories" リソースまたは Bean として登録できます。

登録済みの Bean でこのインターフェースを使用すると、Beanそのすべての依存関係が AOT 処理中に初期化されます。通常、このインターフェースは、依存関係が限定されており、Bean ファクトリライフサイクルの早い段階ですでに初期化されている BeanPostProcessor などのインフラストラクチャ Bean でのみ使用することをお勧めします。このような Bean がファクトリメソッドを使用して登録されている場合は、必ず static にして、それを囲むクラスを初期化する必要がないようにしてください。

AOT プロセッサーは、通常の実行時の動作を最適化された配置 (通常は生成されたコード) に置き換えます。そのため、このインターフェースを実装するコンポーネントはデフォルトでは提供されていません。このインターフェースを実装するコンポーネントを実行時に呼び出す必要がある場合は、isBeanExcludedFromAotProcessing() をオーバーライドできます。

導入:
6.0
作成者:
Phillip Webb, Stephane Nicoll
関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    default boolean
    このプロセッサーに関連付けられた Bean インスタンスを AOT 処理自体から除外する必要があるかどうかを返します。
    指定された RegisteredBean インスタンスを事前に処理し、コントリビューションまたは null を返します。
  • メソッドの詳細

    • processAheadOfTime

      @Nullable BeanRegistrationAotContribution processAheadOfTime(RegisteredBean registeredBean)
      指定された RegisteredBean インスタンスを事前に処理し、コントリビューションまたは null を返します。

      プロセッサーは、任意の手法を自由に使用して、特定のインスタンスを分析できます。ほとんどの場合、リフレクションを使用して、コントリビューションで使用するフィールドまたはメソッドを見つけます。コントリビューションは通常、AOT 最適化アプリケーションの実行時に使用できるソースコードまたはリソースファイルを生成します。

      指定されたインスタンスがプロセッサーに関連していない場合は、null コントリビューションを返す必要があります。

      パラメーター:
      registeredBean - 処理する登録済み Bean
      戻り値:
      BeanRegistrationAotContribution または null
    • isBeanExcludedFromAotProcessing

      default boolean isBeanExcludedFromAotProcessing()
      このプロセッサーに関連付けられた Bean インスタンスを AOT 処理自体から除外する必要があるかどうかを返します。デフォルトでは、このメソッドは true を返し、Bean を自動的に除外します。定義を記述する必要がある場合は、このメソッドをオーバーライドして true を返すことができます。
      戻り値:
      Bean を AOT 処理から除外する必要がある場合
      関連事項: