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


@TargetSE({TYPESE,METHODSE}) @RetentionSE(RUNTIMESE) @DocumentedSE public @interface ImportRuntimeHints
1 つ以上の RuntimeHintsRegistrar 実装を処理する必要があることを示します。

META-INF/spring/aot.factories を使用して RuntimeHintsRegistrar を宣言するのとは異なり、このアノテーションを使用すると、アノテーション付きのコンポーネントまたは Bean メソッドが実際に Bean ファクトリに登録されている場合にのみ処理される、より柔軟な登録が可能になります。この動作を説明するために、次の例を検討してください。

 @Configuration
 public class MyConfiguration {

     @Bean
     @ImportRuntimeHints(MyHints.class)
     @Conditional(MyCondition.class)
     public MyService myService() {
         return new MyService();
     }
 }

上記の構成クラスが処理される場合、MyCondition が一致する場合にのみ MyHints が提供されます。条件が一致しない場合、MyService は Bean として定義されず、ヒントも処理されません。

@ImportRuntimeHints は、Spring TestContext フレームワーク を使用して ApplicationContext をロードする任意のテストクラスにも適用できます。

複数のコンポーネントまたはテストクラスが同じ RuntimeHintsRegistrar 実装を参照する場合、レジストラは、特定の Bean ファクトリ処理またはテストスイートに対して 1 回だけ呼び出されます。

導入:
6.0
作成者:
Brian Clozel, Stephane Nicoll
関連事項: