クラス BeanInstanceSupplier<T>

java.lang.ObjectSE
org.springframework.beans.factory.aot.BeanInstanceSupplier<T>
型パラメーター:
T - このサプライヤーが提供するインスタンスの型
実装されたすべてのインターフェース:
SupplierSE<T>InstanceSupplier<T>ThrowingSupplier<T>

public final class BeanInstanceSupplier<T> extends ObjectSE implements InstanceSupplier<T>
基礎となる Bean インスタンスが存在する場合、それをインスタンス化するために使用されるファクトリ MethodSE を提供する特殊化された InstanceSupplier。必要に応じて、AutowiredArguments の解決を透過的に処理します。通常、リフレクションベースのインジェクションに代わる対象を絞った手段として、AOT 処理アプリケーションで使用されます。

generator が指定されていない場合、リフレクションを使用して Bean インスタンスがインスタンス化され、完全な invocation ヒントが提供されます。複数のジェネレーターコールバックスタイルがサポートされています。

  • 引数の解決を必要とする実行可能ファイル用の registeredBean および解決された arguments を持つ関数。パラメーターのアノテーションを読み取ることができるように、introspection ヒントが追加されました。
  • 引数の解決を必要としない単純なケース向けの registeredBean のみの関数
  • メソッド参照が使用できる場合のサプライヤー
ジェネレーターコールバックは、呼び出し元が処理する必要がないように、チェック済み例外を処理します。
導入:
6.0
作成者:
Phillip Webb, Stephane Nicoll
関連事項:
  • メソッドの詳細

    • forConstructor

      public static <T> BeanInstanceSupplier<T> forConstructor(ClassSE<?>... parameterTypes)
      指定された Bean コンストラクターの引数を解決する BeanInstanceSupplier を作成します。
      型パラメーター:
      T - 提供されたインスタンスの型
      パラメーター:
      parameterTypes - コンストラクターのパラメーターの型
      戻り値:
      新しい BeanInstanceSupplier インスタンス
    • forFactoryMethod

      public static <T> BeanInstanceSupplier<T> forFactoryMethod(ClassSE<?> declaringClass, StringSE methodName, ClassSE<?>... parameterTypes)
      指定されたファクトリメソッドの引数を解決する新しい BeanInstanceSupplier を作成します。
      型パラメーター:
      T - 提供されたインスタンスの型
      パラメーター:
      declaringClass - ファクトリメソッドを宣言するクラス
      methodName - ファクトリメソッド名
      parameterTypes - ファクトリメソッドのパラメーター型
      戻り値:
      新しい BeanInstanceSupplier インスタンス
    • withGenerator

      指定された generator 双方向関数を使用して基礎となる Bean をインスタンス化する新しい BeanInstanceSupplier インスタンスを返します。
      パラメーター:
      generator - RegisteredBean および解決された AutowiredArguments を使用して、基礎となる Bean をインスタンス化する ThrowingBiFunction
      戻り値:
      指定されたジェネレーターを持つ新しい BeanInstanceSupplier インスタンス
    • withGenerator

      public BeanInstanceSupplier<T> withGenerator(ThrowingFunction<RegisteredBean,T> generator)
      指定された generator 関数を使用して基礎となる Bean をインスタンス化する新しい BeanInstanceSupplier インスタンスを返します。
      パラメーター:
      generator - RegisteredBean を使用して基礎となる Bean をインスタンス化する ThrowingFunction
      戻り値:
      指定されたジェネレーターを持つ新しい BeanInstanceSupplier インスタンス
    • withGenerator

      @DeprecatedSE(since="6.0.11", forRemoval=true) public BeanInstanceSupplier<T> withGenerator(ThrowingSupplier<T> generator)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      指定された generator サプライヤーを使用して基礎となる Bean をインスタンス化する新しい BeanInstanceSupplier インスタンスを返します。
      パラメーター:
      generator - 基盤となる Bean をインスタンス化するための ThrowingSupplier
      戻り値:
      指定されたジェネレーターを持つ新しい BeanInstanceSupplier インスタンス
    • withShortcuts

      public BeanInstanceSupplier<T> withShortcuts(StringSE... beanNames)
      特定のパラメーターの直接 Bean 名前挿入ショートカットを使用する新しい BeanInstanceSupplier インスタンスを返します。
      パラメーター:
      beanNames - ショートカットとして使用する Bean 名 (コンストラクターまたはファクトリメソッドのパラメーターに合わせて調整)
      戻り値:
      ショートカットを使用する新しい BeanInstanceSupplier インスタンス
    • get

      public T get(RegisteredBean registeredBean) throws ExceptionSE
      インターフェースからコピーされた説明: InstanceSupplier
      提供されたインスタンスを取得します。
      次で指定:
      インターフェース InstanceSupplier<T>get 
      パラメーター:
      registeredBean - インスタンスをリクエストする登録済みの Bean
      戻り値:
      提供されたインスタンス
      例外:
      ExceptionSE - エラー時
    • getFactoryMethod

      @Nullable public MethodSE getFactoryMethod()
      インターフェースからコピーされた説明: InstanceSupplier
      このサプライヤーがインスタンスの作成に使用するファクトリメソッドを返します。不明な場合、またはこのサプライヤーが別の手段を使用する場合は null を返します。
      次で指定:
      インターフェース InstanceSupplier<T>getFactoryMethod 
      戻り値:
      インスタンスの作成に使用されるファクトリメソッド、または null
    • registerDependentBeans

      protected final void registerDependentBeans(ConfigurableBeanFactory beanFactory, StringSE beanName, SetSE<StringSE> autowiredBeanNames)