クラス BeanDefinitionValueResolver

java.lang.ObjectSE
org.springframework.beans.factory.support.BeanDefinitionValueResolver

public class BeanDefinitionValueResolver extends ObjectSE
Bean ファクトリ実装で使用するヘルパークラス。Bean 定義オブジェクトに含まれる値を、ターゲット Bean インスタンスに適用される実際の値に解決します。

AbstractBeanFactory およびプレーン BeanDefinition オブジェクトで動作します。AbstractAutowireCapableBeanFactory によって使用されます。

導入:
1.2
作成者:
Juergen Hoeller, Sam Brannen, Stephane Nicoll
関連事項:
  • コンストラクターの詳細

    • BeanDefinitionValueResolver

      public BeanDefinitionValueResolver(AbstractAutowireCapableBeanFactory beanFactory, StringSE beanName, BeanDefinition beanDefinition, TypeConverter typeConverter)
      指定された TypeConverter を使用して、指定された BeanFactory および BeanDefinition の BeanDefinitionValueResolver を作成します。
      パラメーター:
      beanFactory - 解決する BeanFactory
      beanName - 取り組んでいる Bean の名前
      beanDefinition - 取り組んでいる Bean の BeanDefinition
      typeConverter - TypedStringValues の解決に使用する TypeConverter
    • BeanDefinitionValueResolver

      public BeanDefinitionValueResolver(AbstractAutowireCapableBeanFactory beanFactory, StringSE beanName, BeanDefinition beanDefinition)
      デフォルトの TypeConverter を使用して、指定された BeanFactory および BeanDefinition の BeanDefinitionValueResolver を作成します。
      パラメーター:
      beanFactory - 解決する BeanFactory
      beanName - 取り組んでいる Bean の名前
      beanDefinition - 取り組んでいる Bean の BeanDefinition
  • メソッドの詳細

    • resolveValueIfNecessary

      @Nullable public ObjectSE resolveValueIfNecessary(ObjectSE argName, @Nullable ObjectSE value)
      PropertyValue を指定すると、値を返し、必要に応じてファクトリ内の他の Bean への参照を解決します。値は次のようになります。
    • 対応する新しい Bean インスタンスの作成につながる BeanDefinition。そのような「内部 Bean」のシングルトンフラグと名前は常に無視されます。内部 Bean は匿名のプロトタイプです。
    • 解決する必要がある RuntimeBeanReference。
    • ManagedList です。これは、解決する必要がある RuntimeBeanReferences またはコレクションを含む可能性がある特別なコレクションです。
    • ManagedSet です。解決する必要がある RuntimeBeanReferences またはコレクションが含まれている場合もあります。
    • ManagedMap です。この場合、値は解決する必要がある RuntimeBeanReference またはコレクションである可能性があります。
    • 通常のオブジェクトまたは null。この場合はそのままです。
    • パラメーター:
      argName - 値が定義されている引数の名前
      value - 解決する値オブジェクト
      戻り値:
      解決されたオブジェクト
    • resolveInnerBean

      public <T> T resolveInnerBean(@Nullable StringSE innerBeanName, BeanDefinition innerBd, BiFunctionSE<StringSE,RootBeanDefinition,T> resolver)
      内部 Bean 定義を解決し、マージされた Bean 定義で指定された resolver を呼び出します。
      型パラメーター:
      T - 解決の型
      パラメーター:
      innerBeanName - 内側の Bean 名 (または null を使用して割り当てます)
      innerBd - 内部生 Bean 定義
      resolver - 解決するために呼び出す関数
      戻り値:
      resolver を適用した結果として解決された内部 Bean
      導入:
      6.0
    • evaluate

      @Nullable protected ObjectSE evaluate(TypedStringValue value)
      必要に応じて、指定された値を式として評価します。
      パラメーター:
      value - 候補値 (表現かもしれません)
      戻り値:
      解決された値
    • evaluate

      @Nullable protected ObjectSE evaluate(@Nullable ObjectSE value)
      必要に応じて、指定された値を式として評価します。
      パラメーター:
      value - 元の値 (表現かもしれません)
      戻り値:
      必要に応じて解決された値、または元の値
    • resolveTargetType

      @Nullable protected ClassSE<?> resolveTargetType(TypedStringValue value) throws ClassNotFoundExceptionSE
      指定された TypedStringValue でターゲット型を解決します。
      パラメーター:
      value - 解決する TypedStringValue
      戻り値:
      解決されたターゲット型 (または指定されていない場合は null )
      例外:
      ClassNotFoundExceptionSE - 指定された型を解決できない場合
      関連事項: