クラス DefaultListableBeanFactory

実装されたすべてのインターフェース:
SerializableSEBeanFactoryAutowireCapableBeanFactoryConfigurableBeanFactoryConfigurableListableBeanFactorySingletonBeanRegistryHierarchicalBeanFactoryListableBeanFactoryBeanDefinitionRegistryAliasRegistry

ConfigurableListableBeanFactory および BeanDefinitionRegistry インターフェースの Spring のデフォルト実装: Bean 定義メタデータに基づく本格的な Bean ファクトリ、ポストプロセッサーを介して拡張可能。

典型的な使用箇所は、Bean にアクセスする前に、すべての Bean 定義を最初に登録すること(おそらく Bean 定義ファイルから読み取る)です。名前による Bean ルックアップは、事前に解決された Bean 定義メタデータオブジェクトを操作するローカル Bean 定義テーブルでの安価な操作です。

特定の Bean 定義形式のリーダーは、通常、Bean ファクトリサブクラスとしてではなく、個別に実装されることに注意してください。たとえば、XmlBeanDefinitionReader を参照してください。

ListableBeanFactory インターフェースの代替実装については、Bean 定義に基づいて新しいインスタンスを作成するのではなく、既存の Bean インスタンスを管理する StaticListableBeanFactory を参照してください。

導入:
2001 年 4 月 16 日
作成者:
Rod Johnson, Juergen Hoeller, Sam Brannen, Costin Leau, Chris Beams, Phillip Webb, Stephane Nicoll, Sebastien Deleuze
関連事項:
  • コンストラクターの詳細

    • DefaultListableBeanFactory

      public DefaultListableBeanFactory()
      新しい DefaultListableBeanFactory を作成します。
    • DefaultListableBeanFactory

      public DefaultListableBeanFactory(@Nullable BeanFactory parentBeanFactory)
      指定された親を持つ新しい DefaultListableBeanFactory を作成します。
      パラメーター:
      parentBeanFactory - 親 BeanFactory
  • メソッドの詳細

    • setSerializationId

      public void setSerializationId(@Nullable StringSE serializationId)
      直列化の目的で ID を指定し、必要に応じてこの BeanFactory をこの ID から BeanFactory オブジェクトに逆直列化できるようにします。
    • getSerializationId

      @Nullable public StringSE getSerializationId()
      必要に応じて、直列化の目的で ID を返します(指定されている場合)。この BeanFactory をこの ID から逆直列化して、BeanFactory オブジェクトに戻すことができます。
      導入:
      4.1.2
    • setAllowBeanDefinitionOverriding

      public void setAllowBeanDefinitionOverriding(boolean allowBeanDefinitionOverriding)
      同じ名前で別の定義を登録し、前者を自動的に置き換えることにより、Bean 定義のオーバーライドを許可するかどうかを設定します。そうでない場合は、例外がスローされます。これは、エイリアスの上書きにも適用されます。

      デフォルトは「true」。

      関連事項:
    • isAllowBeanDefinitionOverriding

      public boolean isAllowBeanDefinitionOverriding()
      同じ名前で別の定義を登録し、前者を自動的に置き換えて、Bean 定義をオーバーライドできるかどうかを返します。
      導入:
      4.1.2
    • setAllowEagerClassLoading

      public void setAllowEagerClassLoading(boolean allowEagerClassLoading)
      "lazy-init" とマークされている Bean 定義に対しても、ファクトリが Bean クラスを積極的にロードできるかどうかを設定します。

      デフォルトは "true" です。このフラグをオフにすると、そのような Bean が明示的にリクエストされない限り、lazy-init Bean のクラスロードが抑制されます。特に、型によるルックアップは、型チェックを実行するためだけにオンデマンドで Bean クラスをロードする代わりに、解決されたクラス名のない Bean 定義を単に無視します。

      関連事項:
    • isAllowEagerClassLoading

      public boolean isAllowEagerClassLoading()
      "lazy-init" としてマークされている Bean 定義についても、ファクトリが Bean クラスを積極的にロードできるかどうかを返します。
      導入:
      4.1.2
    • setDependencyComparator

      public void setDependencyComparator(@Nullable ComparatorSE<ObjectSE> dependencyComparator)
      依存リストと配列の ComparatorSE を設定します。
      導入:
      4.0
      関連事項:
    • getDependencyComparator

      @Nullable public ComparatorSE<ObjectSE> getDependencyComparator()
      この BeanFactory の依存関係コンパレーターを返します(null の場合もあります)。
      導入:
      4.0
    • setAutowireCandidateResolver

      public void setAutowireCandidateResolver(AutowireCandidateResolver autowireCandidateResolver)
      この BeanFactory のカスタムオートワイヤー候補リゾルバーを設定して、Bean 定義をオートワイヤーの候補と見なすかどうかを決定するときに使用します。
    • getAutowireCandidateResolver

      public AutowireCandidateResolver getAutowireCandidateResolver()
      この BeanFactory のオートワイヤ候補リゾルバーを返します(決して null ではありません)。
    • copyConfigurationFrom

      public void copyConfigurationFrom(ConfigurableBeanFactory otherFactory)
      インターフェースからコピーされた説明: ConfigurableBeanFactory
      指定された他のファクトリから関連するすべての構成をコピーします。

      BeanPostProcessors、スコープ、ファクトリ固有の内部設定だけでなく、すべての標準構成設定を含める必要があります。BeanDefinition オブジェクトや Bean 名のエイリアスなど、実際の Bean 定義のメタデータを含めないでください。

      次で指定:
      インターフェース ConfigurableBeanFactorycopyConfigurationFrom 
      オーバーライド:
      クラス AbstractAutowireCapableBeanFactorycopyConfigurationFrom 
      パラメーター:
      otherFactory - コピー元のもう 1 つの BeanFactory
    • getBean

      public <T> T getBean(ClassSE<T> requiredType) throws BeansException
      インターフェースからコピーされた説明: BeanFactory
      指定されたオブジェクト型が存在する場合、一意に一致する Bean インスタンスを返します。

      このメソッドは、ListableBeanFactory の型別ルックアップ領域に入りますが、指定された型の名前に基づいた従来の名前別ルックアップにも変換できます。Bean のセット全体でより広範な検索操作を行うには、ListableBeanFactory または BeanFactoryUtils(あるいはその両方)を使用します。

      次で指定:
      インターフェース BeanFactorygetBean 
      パラメーター:
      requiredType - Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます
      戻り値:
      必要な型に一致する単一の Bean のインスタンス
      例外:
      NoSuchBeanDefinitionException - 指定された型の Bean が見つからなかった場合
      NoUniqueBeanDefinitionException - 指定された型の複数の Bean が見つかった場合
      BeansException - Bean を作成できなかった場合
      関連事項:
    • getBean

      public <T> T getBean(ClassSE<T> requiredType, @Nullable ObjectSE... args) throws BeansException
      インターフェースからコピーされた説明: BeanFactory
      指定された Bean のインスタンス(共有または独立)を返します。

      Bean 定義で指定されたデフォルト引数 (存在する場合) をオーバーライドして、明示的なコンストラクター引数 / ファクトリメソッド引数を指定できるようにします。指定された引数は、宣言されたパラメーターの順序で特定の候補コンストラクター / ファクトリメソッドと一致する必要があることに注意してください。

      このメソッドは、ListableBeanFactory の型別ルックアップ領域に入りますが、指定された型の名前に基づいた従来の名前別ルックアップにも変換できます。Bean のセット全体でより広範な検索操作を行うには、ListableBeanFactory または BeanFactoryUtils(あるいはその両方)を使用します。

      次で指定:
      インターフェース BeanFactorygetBean 
      パラメーター:
      requiredType - Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます
      args - 明示的な引数を使用して Bean インスタンスを作成するときに使用する引数 (既存のインスタンスを取得するのではなく、新しいインスタンスを作成するときにのみ適用されます)
      戻り値:
      Bean のインスタンス
      例外:
      NoSuchBeanDefinitionException - そのような Bean 定義がない場合
      BeanDefinitionStoreException - 引数は指定されているが、影響を受ける Bean がプロトタイプではない場合
      BeansException - Bean を作成できなかった場合
    • getBeanProvider

      public <T> ObjectProvider<T> getBeanProvider(ClassSE<T> requiredType)
      インターフェースからコピーされた説明: BeanFactory
      指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。

      ジェネリクス型を照合するには、BeanFactory.getBeanProvider(ResolvableType) を検討してください。

      次で指定:
      インターフェース BeanFactorygetBeanProvider 
      パラメーター:
      requiredType - Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます
      戻り値:
      対応するプロバイダーのハンドル
      関連事項:
    • getBeanProvider

      public <T> ObjectProvider<T> getBeanProvider(ResolvableType requiredType)
      インターフェースからコピーされた説明: BeanFactory
      指定された Bean のプロバイダーを返します。これにより、可用性と一意性のオプションを含む、インスタンスの遅延オンデマンド取得が可能になります。このバリアントでは、メソッド / コンストラクターパラメーターでジェネリクス型宣言を使用するリフレクションインジェクションポイントと同様に、一致するジェネリクス型を指定できます。

      リフレクティブインジェクションポイントとは対照的に、ここでは Bean のコレクションはサポートされていないことに注意してください。特定の型に一致する Bean のリストをプログラムで取得するには、ここで引数として実際の Bean 型を指定し、その後 ObjectProvider.orderedStream() またはその遅延ストリーミング / 反復オプションを使用します。

      また、ジェネリクスのマッチングは、Java の割り当てルールに従って、ここでは厳密です。チェックされていないセマンティクスによる緩やかなフォールバックマッチング ('unchecked' Java コンパイラーの警告と同様) の場合、このバリアントで完全なジェネリクスマッチが available にない場合は、2 番目のステップとして生の型で BeanFactory.getBeanProvider(Class) を呼び出すことを検討してください。

      次で指定:
      インターフェース BeanFactorygetBeanProvider 
      パラメーター:
      requiredType - Bean が一致する必要があると入力します。ジェネリクス型宣言にすることができます
      戻り値:
      対応するプロバイダーのハンドル
      関連事項:
    • containsBeanDefinition

      public boolean containsBeanDefinition(StringSE beanName)
      クラスからコピーされた説明: AbstractBeanFactory
      この Bean ファクトリに、指定された名前の Bean 定義が含まれているかどうかを確認します。このファクトリが参加する可能性のある階層は考慮されません。キャッシュされたシングルトンインスタンスが見つからない場合、containsBean によって呼び出されます。

      具体的な Bean ファクトリ実装の性質によっては、この操作は(たとえば、外部レジストリでのディレクトリルックアップのため)コストがかかる場合があります。ただし、リスト可能な Bean ファクトリの場合、これは通常、ローカルハッシュルックアップに相当します。操作はパブリックインターフェースの一部です。この場合、同じ実装がこのテンプレートメソッドとパブリックインターフェースメソッドの両方に使用できます。

      次で指定:
      インターフェース BeanDefinitionRegistrycontainsBeanDefinition 
      次で指定:
      インターフェース ListableBeanFactorycontainsBeanDefinition 
      次で指定:
      クラス AbstractBeanFactorycontainsBeanDefinition 
      パラメーター:
      beanName - 検索する Bean の名前
      戻り値:
      この Bean ファクトリに、指定された名前の Bean 定義が含まれている場合
      関連事項:
    • getBeanDefinitionCount

      public int getBeanDefinitionCount()
      インターフェースからコピーされた説明: ListableBeanFactory
      ファクトリで定義されている Bean の数を返します。

      このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。

      次で指定:
      インターフェース BeanDefinitionRegistrygetBeanDefinitionCount 
      次で指定:
      インターフェース ListableBeanFactorygetBeanDefinitionCount 
      戻り値:
      ファクトリで定義された Bean の数
    • getBeanDefinitionNames

      public StringSE[] getBeanDefinitionNames()
      インターフェースからコピーされた説明: ListableBeanFactory
      このファクトリで定義されているすべての Bean の名前を返します。

      このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。

      次で指定:
      インターフェース BeanDefinitionRegistrygetBeanDefinitionNames 
      次で指定:
      インターフェース ListableBeanFactorygetBeanDefinitionNames 
      戻り値:
      このファクトリで定義されているすべての Bean の名前。定義されていない場合は空の配列
    • getBeanProvider

      public <T> ObjectProvider<T> getBeanProvider(ClassSE<T> requiredType, boolean allowEagerInit)
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。
      次で指定:
      インターフェース ListableBeanFactorygetBeanProvider 
      パラメーター:
      requiredType - Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます
      allowEagerInit - ストリームベースのアクセスが、型チェックのために FactoryBeans (または "factory-bean" 参照を使用するファクトリメソッド)によって作成された lazy-init シングルトンおよびオブジェクトを初期化できるかどうか
      戻り値:
      対応するプロバイダーのハンドル
      関連事項:
    • getBeanProvider

      public <T> ObjectProvider<T> getBeanProvider(ResolvableType requiredType, boolean allowEagerInit)
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。
      次で指定:
      インターフェース ListableBeanFactorygetBeanProvider 
      パラメーター:
      requiredType - Bean が一致する必要がある型。ジェネリクス型宣言にすることができます。ここでは、反射インジェクションポイントとは対照的に、コレクション型はサポートされていません。プログラムで特定の型に一致する Bean のリストを取得するには、実際の Bean 型をここで引数として指定し、その後 ObjectProvider.orderedStream() またはその遅延ストリーミング / 反復オプションを使用します。
      allowEagerInit - ストリームベースのアクセスが、型チェックのために FactoryBeans (または "factory-bean" 参照を使用するファクトリメソッド)によって作成された lazy-init シングルトンおよびオブジェクトを初期化できるかどうか
      戻り値:
      対応するプロバイダーのハンドル
      関連事項:
    • getBeanNamesForType

      public StringSE[] getBeanNamesForType(ResolvableType type)
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beanNamesForTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このバージョンの getBeanNamesForType は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果は getBeanNamesForType(type, true, true) の場合と同じになります。

      このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeanNamesForType 
      パラメーター:
      type - 一致する一般的に型指定されたクラスまたはインターフェース
      戻り値:
      指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
      関連事項:
    • getBeanNamesForType

      public StringSE[] getBeanNamesForType(ResolvableType type, boolean includeNonSingletons, boolean allowEagerInit)
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      "allowEagerInit" フラグが設定されている場合、FactoryBeans が初期化されることを意味する場合、FactoryBeans によって作成されたオブジェクトを考慮します。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。"allowEagerInit" が設定されていない場合、未加工の FactoryBeans のみがチェックされます(各 FactoryBean の初期化は不要です)。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beanNamesForTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeanNamesForType 
      パラメーター:
      type - 一致する一般的に型指定されたクラスまたはインターフェース
      includeNonSingletons - プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)
      allowEagerInit - 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。
      戻り値:
      指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
      関連事項:
    • getBeanNamesForType

      public StringSE[] getBeanNamesForType(@Nullable ClassSE<?> type)
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beanNamesForTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このバージョンの getBeanNamesForType は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果は getBeanNamesForType(type, true, true) の場合と同じになります。

      このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeanNamesForType 
      パラメーター:
      type - 一致させるクラスまたはインターフェース、またはすべての Bean 名の null 
      戻り値:
      指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
      関連事項:
    • getBeanNamesForType

      public StringSE[] getBeanNamesForType(@Nullable ClassSE<?> type, boolean includeNonSingletons, boolean allowEagerInit)
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      "allowEagerInit" フラグが設定されている場合、FactoryBeans が初期化されることを意味する場合、FactoryBeans によって作成されたオブジェクトを考慮します。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。"allowEagerInit" が設定されていない場合、未加工の FactoryBeans のみがチェックされます(各 FactoryBean の初期化は不要です)。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beanNamesForTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeanNamesForType 
      パラメーター:
      type - 一致させるクラスまたはインターフェース、またはすべての Bean 名の null 
      includeNonSingletons - プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)
      allowEagerInit - 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。
      戻り値:
      指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
      関連事項:
    • getBeansOfType

      public <T> MapSE<StringSE,T> getBeansOfType(@Nullable ClassSE<T> type) throws BeansException
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beansOfTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このバージョンの getBeansOfType は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果は getBeansOfType(type, true, true) の場合と同じになります。

      このメソッドによって返されるマップは、常に、可能な限り、バックエンド構成での定義順に Bean 名と対応する Bean インスタンス返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeansOfType 
      パラメーター:
      type - 一致するクラスまたはインターフェース、またはすべての具象 Bean の null 
      戻り値:
      キーとしての Bean 名と値としての対応する Bean インスタンスを含む、一致する Bean を持つマップ
      例外:
      BeansException - Bean を作成できなかった場合
      関連事項:
    • getBeansOfType

      public <T> MapSE<StringSE,T> getBeansOfType(@Nullable ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) throws BeansException
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      "allowEagerInit" フラグが設定されている場合、FactoryBeans が初期化されることを意味する場合、FactoryBeans によって作成されたオブジェクトを考慮します。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。"allowEagerInit" が設定されていない場合、未加工の FactoryBeans のみがチェックされます(各 FactoryBean の初期化は不要です)。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beansOfTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このメソッドによって返されるマップは、常に、可能な限り、バックエンド構成での定義順に Bean 名と対応する Bean インスタンス返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeansOfType 
      パラメーター:
      type - 一致するクラスまたはインターフェース、またはすべての具象 Bean の null 
      includeNonSingletons - プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)
      allowEagerInit - 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。
      戻り値:
      キーとしての Bean 名と値としての対応する Bean インスタンスを含む、一致する Bean を持つマップ
      例外:
      BeansException - Bean を作成できなかった場合
      関連事項:
    • getBeanNamesForAnnotation

      public StringSE[] getBeanNamesForAnnotation(ClassSE<? extends AnnotationSE> annotationType)
      インターフェースからコピーされた説明: ListableBeanFactory
      対応する Bean インスタンスをまだ作成せずに、提供された AnnotationSE 型でアノテーションが付けられている Bean のすべての名前を検索します。

      このメソッドは FactoryBeans によって作成されたオブジェクトを考慮することに注意してください。つまり、FactoryBeans はオブジェクト型を決定するために初期化されます。

      次で指定:
      インターフェース ListableBeanFactorygetBeanNamesForAnnotation 
      パラメーター:
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      戻り値:
      一致するすべての Bean の名前
      関連事項:
    • getBeansWithAnnotation

      public MapSE<StringSE,ObjectSE> getBeansWithAnnotation(ClassSE<? extends AnnotationSE> annotationType)
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された AnnotationSE 型でアノテーションが付けられたすべての Bean を検索し、対応する Bean インスタンスを持つ Bean 名のマップを返します。

      このメソッドは FactoryBeans によって作成されたオブジェクトを考慮することに注意してください。つまり、FactoryBeans はオブジェクト型を決定するために初期化されます。

      次で指定:
      インターフェース ListableBeanFactorygetBeansWithAnnotation 
      パラメーター:
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      戻り値:
      キーとしての Bean 名と値としての対応する Bean インスタンスを含む、一致する Bean を持つマップ
      関連事項:
    • findAnnotationOnBean

      @Nullable public <A extends AnnotationSE> A findAnnotationOnBean(StringSE beanName, ClassSE<A> annotationType) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された Bean で annotationType の AnnotationSE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。
      次で指定:
      インターフェース ListableBeanFactoryfindAnnotationOnBean 
      パラメーター:
      beanName - アノテーションを探す Bean の名前
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      戻り値:
      見つかった場合は指定された型のアノテーション、そうでない場合は null 
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • findAnnotationOnBean

      @Nullable public <A extends AnnotationSE> A findAnnotationOnBean(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された Bean で annotationType の AnnotationSE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。
      次で指定:
      インターフェース ListableBeanFactoryfindAnnotationOnBean 
      パラメーター:
      beanName - アノテーションを探す Bean の名前
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      allowFactoryBeanInit - FactoryBean がオブジェクト型を判別する目的でのみ初期化されるかどうか
      戻り値:
      見つかった場合は指定された型のアノテーション、そうでない場合は null 
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • findAllAnnotationsOnBean

      public <A extends AnnotationSE> SetSE<A> findAllAnnotationsOnBean(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された Bean 上の annotationType のすべての AnnotationSE インスタンスを検索し、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスを走査し、Bean のファクトリメソッド (存在する場合) をチェックします。
      次で指定:
      インターフェース ListableBeanFactoryfindAllAnnotationsOnBean 
      パラメーター:
      beanName - アノテーションを探す Bean の名前
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      allowFactoryBeanInit - FactoryBean がオブジェクト型を判別する目的でのみ初期化されるかどうか
      戻り値:
      見つかった特定の型のアノテーションのセット (潜在的に空)
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • registerResolvableDependency

      public void registerResolvableDependency(ClassSE<?> dependencyType, @Nullable ObjectSE autowiredValue)
      インターフェースからコピーされた説明: ConfigurableListableBeanFactory
      対応するオートワイヤーされた値で特別な依存関係型を登録します。

      これは、自動回転可能であることが想定されているが、ファクトリで Bean として定義されていないファクトリ / コンテキスト参照を対象としています。Bean が存在する ApplicationContext インスタンスに解決される型 ApplicationContext の依存関係。

      メモ: プレーンな BeanFactory に登録されているそのようなデフォルトの型はありません。BeanFactory インターフェース自体についても同様です。

      次で指定:
      インターフェース ConfigurableListableBeanFactoryregisterResolvableDependency 
      パラメーター:
      dependencyType - 登録する依存関係型。これは通常、BeanFactory などの基本インターフェースであり、自動拡張依存関係(ListableBeanFactory など)として宣言されている場合は、指定された値が実際に拡張インターフェースを実装している限り、その拡張機能も解決されます。
      autowiredValue - 対応するオートワイヤー値。これは、実際のターゲット値の遅延解決を可能にする ObjectFactory インターフェースの実装でもあります。
    • isAutowireCandidate

      public boolean isAutowireCandidate(StringSE beanName, DependencyDescriptor descriptor) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: ConfigurableListableBeanFactory
      指定された Bean が、一致する型の依存関係を宣言する他の Bean に注入されるオートワイヤー候補として適格であるかどうかを判別します。

      このメソッドは、祖先ファクトリもチェックします。

      次で指定:
      インターフェース ConfigurableListableBeanFactoryisAutowireCandidate 
      パラメーター:
      beanName - チェックする Bean の名前
      descriptor - 解決する依存関係の記述子
      戻り値:
      Bean をオートワイヤー候補と見なすかどうか
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
    • isAutowireCandidate

      protected boolean isAutowireCandidate(StringSE beanName, DependencyDescriptor descriptor, AutowireCandidateResolver resolver) throws NoSuchBeanDefinitionException
      指定された Bean 定義が、一致型の依存関係を宣言する他の Bean に注入されるオートワイヤー候補として適格であるかどうかを判別します。
      パラメーター:
      beanName - チェックする Bean 定義の名前
      descriptor - 解決する依存関係の記述子
      resolver - 実際の解決アルゴリズムに使用する AutowireCandidateResolver
      戻り値:
      Bean をオートワイヤー候補と見なすかどうか
      例外:
      NoSuchBeanDefinitionException
    • isAutowireCandidate

      protected boolean isAutowireCandidate(StringSE beanName, RootBeanDefinition mbd, DependencyDescriptor descriptor, AutowireCandidateResolver resolver)
      指定された Bean 定義が、一致型の依存関係を宣言する他の Bean に注入されるオートワイヤー候補として適格であるかどうかを判別します。
      パラメーター:
      beanName - チェックする Bean 定義の名前
      mbd - チェックするマージ済み Bean 定義
      descriptor - 解決する依存関係の記述子
      resolver - 実際の解決アルゴリズムに使用する AutowireCandidateResolver
      戻り値:
      Bean をオートワイヤー候補と見なすかどうか
    • getBeanDefinition

      public BeanDefinition getBeanDefinition(StringSE beanName) throws NoSuchBeanDefinitionException
      クラスからコピーされた説明: AbstractBeanFactory
      指定された Bean 名の Bean 定義を返します。このメソッドは Bean 定義のメタデータが必要になるたびにこのクラスによって呼び出されるため、サブクラスは通常キャッシュを実装する必要があります。

      具体的な Bean ファクトリ実装の性質によっては、この操作は(たとえば、外部レジストリでのディレクトリルックアップのため)コストがかかる場合があります。ただし、リスト可能な Bean ファクトリの場合、これは通常、ローカルハッシュルックアップに相当します。操作はパブリックインターフェースの一部です。この場合、同じ実装がこのテンプレートメソッドとパブリックインターフェースメソッドの両方に使用できます。

      次で指定:
      インターフェース BeanDefinitionRegistrygetBeanDefinition 
      次で指定:
      インターフェース ConfigurableListableBeanFactorygetBeanDefinition 
      次で指定:
      クラス AbstractBeanFactorygetBeanDefinition 
      パラメーター:
      beanName - 定義を検索する Bean の名前
      戻り値:
      このプロトタイプ名の BeanDefinition (非 null)
      例外:
      NoSuchBeanDefinitionException - Bean 定義を解決できない場合
      関連事項:
    • getBeanNamesIterator

      public IteratorSE<StringSE> getBeanNamesIterator()
      インターフェースからコピーされた説明: ConfigurableListableBeanFactory
      このファクトリが管理するすべての Bean 名の統一ビューを返します。

      Bean 定義名と手動で登録されたシングルトンインスタンスの名前が含まれます。Bean 定義名が一貫して最初に来ます。これは、Bean 名の型 / アノテーション固有の検索が機能する方法に類似しています。

      次で指定:
      インターフェース ConfigurableListableBeanFactorygetBeanNamesIterator 
      戻り値:
      Bean 名前ビューの複合イテレータ
      関連事項:
    • clearMergedBeanDefinition

      protected void clearMergedBeanDefinition(StringSE beanName)
      クラスからコピーされた説明: AbstractBeanFactory
      指定された Bean のマージされた Bean 定義を削除し、次のアクセスで再作成します。
      オーバーライド:
      クラス AbstractBeanFactoryclearMergedBeanDefinition 
      パラメーター:
      beanName - マージされた定義をクリアする Bean 名
    • clearMetadataCache

      public void clearMetadataCache()
      クラスからコピーされた説明: AbstractBeanFactory
      マージされた Bean 定義キャッシュをクリアして、完全なメタデータキャッシュにまだ適格と見なされていない Bean のエントリを削除します。

      通常、元の Bean 定義への変更後にトリガーされます。BeanFactoryPostProcessor を適用した後。この時点ですでに作成されている Bean のメタデータは保持されます。

      次で指定:
      インターフェース ConfigurableListableBeanFactoryclearMetadataCache 
      オーバーライド:
      クラス AbstractBeanFactoryclearMetadataCache 
      関連事項:
    • freezeConfiguration

      public void freezeConfiguration()
      インターフェースからコピーされた説明: ConfigurableListableBeanFactory
      すべての Bean 定義をフリーズし、登録された Bean 定義がこれ以上変更または後処理されないことを通知します。

      これにより、ファクトリは初期一時メタデータキャッシュをクリアした後、積極的に Bean 定義メタデータをキャッシュできます。

      次で指定:
      インターフェース ConfigurableListableBeanFactoryfreezeConfiguration 
      関連事項:
    • isConfigurationFrozen

      public boolean isConfigurationFrozen()
      インターフェースからコピーされた説明: ConfigurableListableBeanFactory
      このファクトリの Bean 定義がフリーズされているかどうか、つまり、これ以上変更または後処理する必要がないかどうかを返します。
      次で指定:
      インターフェース ConfigurableListableBeanFactoryisConfigurationFrozen 
      戻り値:
      true (ファクトリの構成が凍結されていると見なされる場合)
      関連事項:
    • isBeanEligibleForMetadataCaching

      protected boolean isBeanEligibleForMetadataCaching(StringSE beanName)
      ファクトリの構成が凍結としてマークされている場合、すべての Bean がメタデータキャッシングの対象と見なされます。
      オーバーライド:
      クラス AbstractBeanFactoryisBeanEligibleForMetadataCaching 
      パラメーター:
      beanName - Bean の名前
      戻り値:
      Bean のメタデータがこの時点ですでにキャッシュされている場合は、true 
      関連事項:
    • obtainInstanceFromSupplier

      @Nullable protected ObjectSE obtainInstanceFromSupplier(SupplierSE<?> supplier, StringSE beanName, RootBeanDefinition mbd) throws ExceptionSE
      クラスからコピーされた説明: AbstractAutowireCapableBeanFactory
      指定されたサプライヤーから Bean インスタンスを取得します。
      オーバーライド:
      クラス AbstractAutowireCapableBeanFactoryobtainInstanceFromSupplier 
      パラメーター:
      supplier - 構成されたサプライヤー
      beanName - 対応する Bean 名
      mbd - Bean の Bean 定義
      戻り値:
      Bean インスタンス (おそらく null)
      例外:
      ExceptionSE
    • preInstantiateSingletons

      public void preInstantiateSingletons() throws BeansException
      インターフェースからコピーされた説明: ConfigurableListableBeanFactory
      FactoryBeans も考慮して、lazy-init 以外のすべてのシングルトンがインスタンス化されていることを確認してください。通常、必要に応じて、提供時のセットアップの最後に呼び出されます。
      次で指定:
      インターフェース ConfigurableListableBeanFactorypreInstantiateSingletons 
      例外:
      BeansException - シングルトン Bean の 1 つを作成できなかった場合。注: これにより、一部の Bean がすでに初期化された状態でファクトリから提供された可能性があります。この場合、ConfigurableBeanFactory.destroySingletons() を呼び出して完全にクリーンアップします。
      関連事項:
    • registerBeanDefinition

      public void registerBeanDefinition(StringSE beanName, BeanDefinition beanDefinition) throws BeanDefinitionStoreException
      インターフェースからコピーされた説明: BeanDefinitionRegistry
      このレジストリに新しい Bean 定義を登録します。RootBeanDefinition および ChildBeanDefinition をサポートする必要があります。
      次で指定:
      インターフェース BeanDefinitionRegistryregisterBeanDefinition 
      パラメーター:
      beanName - 登録する Bean インスタンスの名前
      beanDefinition - 登録する Bean インスタンスの定義
      例外:
      BeanDefinitionStoreException - BeanDefinition が無効な場合
      BeanDefinitionOverrideException - 指定された Bean 名の BeanDefinition がすでに存在し、それをオーバーライドすることが許可されていない場合
      関連事項:
    • removeBeanDefinition

      public void removeBeanDefinition(StringSE beanName) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: BeanDefinitionRegistry
      指定された名前の BeanDefinition を削除します。
      次で指定:
      インターフェース BeanDefinitionRegistryremoveBeanDefinition 
      パラメーター:
      beanName - 登録する Bean インスタンスの名前
      例外:
      NoSuchBeanDefinitionException - そのような Bean 定義がない場合
    • resetBeanDefinition

      protected void resetBeanDefinition(StringSE beanName)
      指定された Bean のすべての Bean 定義キャッシュを、そこから派生した Bean のキャッシュを含めてリセットします。

      既存の Bean 定義が置換または削除された後に呼び出され、指定された Bean および親として指定された Bean を持つすべての Bean 定義で clearMergedBeanDefinition(java.lang.String)destroySingleton(java.lang.String)MergedBeanDefinitionPostProcessor.resetBeanDefinition(java.lang.String) をトリガーします。

      パラメーター:
      beanName - リセットする Bean の名前
      関連事項:
    • isBeanDefinitionOverridable

      public boolean isBeanDefinitionOverridable(StringSE beanName)
      Bean 定義のオーバーライドが通常許可されている場合、この実装は true を返します。
      次で指定:
      インターフェース BeanDefinitionRegistryisBeanDefinitionOverridable 
      パラメーター:
      beanName - チェックする名前
      戻り値:
      指定された Bean 名の定義がオーバーライド可能かどうか
      関連事項:
    • allowAliasOverriding

      protected boolean allowAliasOverriding()
      Bean 定義のオーバーライドが許可されている場合にのみ、エイリアスのオーバーライドを許可します。
      オーバーライド:
      クラス SimpleAliasRegistryallowAliasOverriding 
      関連事項:
    • checkForAliasCircle

      protected void checkForAliasCircle(StringSE name, StringSE alias)
      また、同じ名前の Bean 定義をオーバーライドするエイリアスをチェックします。
      オーバーライド:
      クラス SimpleAliasRegistrycheckForAliasCircle 
      パラメーター:
      name - 候補者名
      alias - 候補エイリアス
      関連事項:
    • registerSingleton

      public void registerSingleton(StringSE beanName, ObjectSE singletonObject) throws IllegalStateExceptionSE
      インターフェースからコピーされた説明: SingletonBeanRegistry
      指定された既存のオブジェクトを、指定された Bean 名で、Bean レジストリにシングルトンとして登録します。

      与えられたインスタンスは完全に初期化されることになっています。レジストリは初期化コールバックを実行しません(特に、InitializingBean の afterPropertiesSet メソッドを呼び出しません)。指定されたインスタンスは、(DisposableBean の destroy メソッドのような)破棄コールバックも受け取りません。

      完全な BeanFactory 内で実行する場合: Bean が初期化および / または破棄コールバックを受け取ることになっている場合、既存のインスタンスの代わりに Bean 定義を登録します

      通常、レジストリ設定中に呼び出されますが、シングルトンのランタイム登録にも使用できます。結果として、レジストリ実装はシングルトンアクセスを同期する必要があります。BeanFactory のシングルトンの遅延初期化をサポートする場合、これを行う必要があります。

      次で指定:
      インターフェース SingletonBeanRegistryregisterSingleton 
      オーバーライド:
      クラス DefaultSingletonBeanRegistryregisterSingleton 
      パラメーター:
      beanName - Bean の名前
      singletonObject - 既存のシングルトンオブジェクト
      例外:
      IllegalStateExceptionSE
      関連事項:
    • destroySingletons

      public void destroySingletons()
      インターフェースからコピーされた説明: ConfigurableBeanFactory
      使い捨てとして登録されているインナー Bean を含め、このファクトリ内のすべてのシングルトン Bean を破棄します。ファクトリのシャットダウン時に呼び出されます。

      破棄中に発生した例外は、このメソッドの呼び出し元に伝播するのではなく、キャッチしてログに記録する必要があります。

      次で指定:
      インターフェース ConfigurableBeanFactorydestroySingletons 
      オーバーライド:
      クラス DefaultSingletonBeanRegistrydestroySingletons 
    • destroySingleton

      public void destroySingleton(StringSE beanName)
      クラスからコピーされた説明: DefaultSingletonBeanRegistry
      与えられた Bean を破棄します。対応する使い捨て Bean インスタンスが見つかった場合は、destroyBean に委譲します。
      オーバーライド:
      クラス DefaultSingletonBeanRegistrydestroySingleton 
      パラメーター:
      beanName - Bean の名前
      関連事項:
    • resolveNamedBean

      public <T> NamedBeanHolder<T> resolveNamedBean(ClassSE<T> requiredType) throws BeansException
      インターフェースからコピーされた説明: AutowireCapableBeanFactory
      指定されたオブジェクト型(存在する場合)に一意に一致する Bean インスタンスを、その Bean 名を含めて解決します。

      これは事実上、一致するインスタンスの Bean 名を保持する BeanFactory.getBean(Class) のバリアントです。

      次で指定:
      インターフェース AutowireCapableBeanFactoryresolveNamedBean 
      パラメーター:
      requiredType - Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます
      戻り値:
      Bean 名と Bean インスタンス
      例外:
      NoSuchBeanDefinitionException - 一致する Bean が見つからなかった場合
      NoUniqueBeanDefinitionException - 一致する Bean が複数見つかった場合
      BeansException - Bean を作成できなかった場合
      関連事項:
    • resolveDependency

      @Nullable public ObjectSE resolveDependency(DependencyDescriptor descriptor, @Nullable StringSE requestingBeanName, @Nullable SetSE<StringSE> autowiredBeanNames, @Nullable TypeConverter typeConverter) throws BeansException
      インターフェースからコピーされた説明: AutowireCapableBeanFactory
      このファクトリで定義された Bean に対する指定された依存関係を解決します。
      次で指定:
      インターフェース AutowireCapableBeanFactoryresolveDependency 
      パラメーター:
      descriptor - 依存関係の記述子 (フィールド / メソッド / コンストラクター)
      requestingBeanName - 指定された依存関係を宣言する Bean の名前
      autowiredBeanNames - (特定の依存関係の解決に使用される)オートワイヤーされた Bean のすべての名前が追加されることになっているセット
      typeConverter - 配列とコレクションの移植に使用する TypeConverter
      戻り値:
      解決されたオブジェクト。見つからない場合は null 
      例外:
      NoSuchBeanDefinitionException - 一致する Bean が見つからなかった場合
      NoUniqueBeanDefinitionException - 一致する Bean が複数見つかった場合
      BeansException - 他の理由で依存関係の解決に失敗した場合
      関連事項:
    • doResolveDependency

      @Nullable public ObjectSE doResolveDependency(DependencyDescriptor descriptor, @Nullable StringSE beanName, @Nullable SetSE<StringSE> autowiredBeanNames, @Nullable TypeConverter typeConverter) throws BeansException
      例外:
      BeansException
    • findAutowireCandidates

      protected MapSE<StringSE,ObjectSE> findAutowireCandidates(@Nullable StringSE beanName, ClassSE<?> requiredType, DependencyDescriptor descriptor)
      必要な型に一致する Bean インスタンスを見つけます。指定された Bean のオートワイヤー中に呼び出されます。
      パラメーター:
      beanName - 接続しようとしている Bean の名前
      requiredType - 検索する Bean の実際の型 (配列コンポーネント型またはコレクションエレメント型の場合があります)
      descriptor - 解決する依存関係の記述子
      戻り値:
      必要な型に一致する候補名と候補インスタンスのマップ (非 null)
      例外:
      BeansException - エラーの場合
      関連事項:
    • determineAutowireCandidate

      @Nullable protected StringSE determineAutowireCandidate(MapSE<StringSE,ObjectSE> candidates, DependencyDescriptor descriptor)
      指定された Bean のセットでオートワイヤーの候補を決定します。

      @Primary と @Priority を(この順序で)探します。

      パラメーター:
      candidates - findAutowireCandidates(java.lang.String, java.lang.Class<?>, org.springframework.beans.factory.config.DependencyDescriptor) によって返される、必要な型に一致する候補名と候補インスタンスのマップ
      descriptor - 照合するターゲット依存関係
      戻り値:
      オートワイヤー候補の名前、または見つからない場合は null 
    • determinePrimaryCandidate

      @Nullable protected StringSE determinePrimaryCandidate(MapSE<StringSE,ObjectSE> candidates, ClassSE<?> requiredType)
      指定された Bean のセットの主要な候補を決定します。
      パラメーター:
      candidates - 必要な型に一致する候補名と候補インスタンス(または、まだ作成されていない場合は候補クラス)のマップ
      requiredType - 照合するターゲット依存関係型
      戻り値:
      一次候補の名前、または見つからない場合は null 
      関連事項:
    • determineHighestPriorityCandidate

      @Nullable protected StringSE determineHighestPriorityCandidate(MapSE<StringSE,ObjectSE> candidates, ClassSE<?> requiredType)
      指定された Bean のセットで最も高い優先度を持つ候補を決定します。

      @jakarta.annotation.Priority に基づいています。関連する Ordered インターフェースで定義されているように、最も低い値が最も高い優先順位になります。

      パラメーター:
      candidates - 必要な型に一致する候補名と候補インスタンス(または、まだ作成されていない場合は候補クラス)のマップ
      requiredType - 照合するターゲット依存関係型
      戻り値:
      優先度が最も高い候補の名前、または見つからない場合は null 
      関連事項:
    • isPrimary

      protected boolean isPrimary(StringSE beanName, ObjectSE beanInstance)
      指定された Bean 名の Bean 定義がプライマリ Bean としてマークされているかどうかを返します。
      パラメーター:
      beanName - Bean の名前
      beanInstance - 対応する Bean インスタンス (null にすることができます)
      戻り値:
      指定された Bean がプライマリとして適格かどうか
    • getPriority

      @Nullable protected IntegerSE getPriority(ObjectSE beanInstance)
      jakarta.annotation.Priority アノテーションによって、指定された Bean インスタンスに割り当てられた優先順位を返します。

      デフォルトの実装は、指定された dependency comparator に委譲し、Spring の一般的な OrderComparator(通常は AnnotationAwareOrderComparator)の拡張であるかどうか、method をチェックします。そのようなコンパレータが存在しない場合、この実装は null を返します。

      パラメーター:
      beanInstance - チェックする Bean インスタンス (null にすることができます)
      戻り値:
      何も設定されていない場合は、その Bean または null に割り当てられた優先順位
    • matchesBeanName

      protected boolean matchesBeanName(StringSE beanName, @Nullable StringSE candidateName)
      指定された候補名が Bean 名またはこの Bean 定義に保管されている別名と一致するかどうかを判別します。
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString 
    • writeReplace

      protected ObjectSE writeReplace() throws ObjectStreamExceptionSE
      例外:
      ObjectStreamExceptionSE