クラス BeanDefinitionValueResolver
java.lang.ObjectSE
org.springframework.beans.factory.support.BeanDefinitionValueResolver
Bean ファクトリ実装で使用するヘルパークラス。Bean 定義オブジェクトに含まれる値を、ターゲット Bean インスタンスに適用される実際の値に解決します。
AbstractBeanFactory
およびプレーン BeanDefinition
オブジェクトで動作します。AbstractAutowireCapableBeanFactory
によって使用されます。
- 導入:
- 1.2
- 作成者:
- Juergen Hoeller, Sam Brannen, Stephane Nicoll
- 関連事項:
コンストラクターのサマリー
コンストラクター説明BeanDefinitionValueResolver
(AbstractAutowireCapableBeanFactory beanFactory, StringSE beanName, BeanDefinition beanDefinition) デフォルトのTypeConverter
を使用して、指定された BeanFactory および BeanDefinition の BeanDefinitionValueResolver を作成します。BeanDefinitionValueResolver
(AbstractAutowireCapableBeanFactory beanFactory, StringSE beanName, BeanDefinition beanDefinition, TypeConverter typeConverter) 指定されたTypeConverter
を使用して、指定された BeanFactory および BeanDefinition の BeanDefinitionValueResolver を作成します。メソッドのサマリー
修飾子と型メソッド説明protected ObjectSE
必要に応じて、指定された値を式として評価します。protected ObjectSE
evaluate
(TypedStringValue value) 必要に応じて、指定された値を式として評価します。<T> T
resolveInnerBean
(StringSE innerBeanName, BeanDefinition innerBd, BiFunctionSE<StringSE, RootBeanDefinition, T> resolver) 内部 Bean 定義を解決し、マージされた Bean 定義で指定されたresolver
を呼び出します。protected ClassSE<?>
指定された TypedStringValue でターゲット型を解決します。resolveValueIfNecessary
(ObjectSE argName, ObjectSE value) PropertyValue を指定すると、値を返し、必要に応じてファクトリ内の他の Bean への参照を解決します。
コンストラクターの詳細
BeanDefinitionValueResolver
public BeanDefinitionValueResolver(AbstractAutowireCapableBeanFactory beanFactory, StringSE beanName, BeanDefinition beanDefinition, TypeConverter typeConverter) 指定されたTypeConverter
を使用して、指定された BeanFactory および BeanDefinition の BeanDefinitionValueResolver を作成します。- パラメーター:
beanFactory
- 解決する BeanFactorybeanName
- 取り組んでいる Bean の名前beanDefinition
- 取り組んでいる Bean の BeanDefinitiontypeConverter
- TypedStringValues の解決に使用する TypeConverter
BeanDefinitionValueResolver
public BeanDefinitionValueResolver(AbstractAutowireCapableBeanFactory beanFactory, StringSE beanName, BeanDefinition beanDefinition) デフォルトのTypeConverter
を使用して、指定された BeanFactory および BeanDefinition の BeanDefinitionValueResolver を作成します。- パラメーター:
beanFactory
- 解決する BeanFactorybeanName
- 取り組んでいる Bean の名前beanDefinition
- 取り組んでいる Bean の BeanDefinition
メソッドの詳細
resolveValueIfNecessary
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
必要に応じて、指定された値を式として評価します。- パラメーター:
value
- 候補値 (表現かもしれません)- 戻り値:
- 解決された値
evaluate
必要に応じて、指定された値を式として評価します。- パラメーター:
value
- 元の値 (表現かもしれません)- 戻り値:
- 必要に応じて解決された値、または元の値
resolveTargetType
@Nullable protected ClassSE<?> resolveTargetType(TypedStringValue value) throws ClassNotFoundExceptionSE 指定された TypedStringValue でターゲット型を解決します。- パラメーター:
value
- 解決する TypedStringValue- 戻り値:
- 解決されたターゲット型 (または指定されていない場合は
null
) - 例外:
ClassNotFoundExceptionSE
- 指定された型を解決できない場合- 関連事項: