クラス DependencyDescriptor
- 実装されたすべてのインターフェース:
SerializableSE
- 導入:
- 2.5
- 作成者:
- Juergen Hoeller
- 関連事項:
フィールドサマリー
クラス org.springframework.beans.factory.InjectionPoint から継承されたフィールド
field, methodParameter
コンストラクターのサマリー
コンストラクター説明DependencyDescriptor
(FieldSE field, boolean required) フィールドの新しい記述子を作成します。DependencyDescriptor
(FieldSE field, boolean required, boolean eager) フィールドの新しい記述子を作成します。DependencyDescriptor
(DependencyDescriptor original) コピーコンストラクター。DependencyDescriptor
(MethodParameter methodParameter, boolean required) メソッドまたはコンストラクターパラメーターの新しい記述子を作成します。DependencyDescriptor
(MethodParameter methodParameter, boolean required, boolean eager) メソッドまたはコンストラクターパラメーターの新しい記述子を作成します。方法の概要
修飾子と型メソッド説明boolean
boolean
フォールバック一致が許可されるかどうかを返します。フォールバック一致を目的としたこの記述子のバリアントを返します。ラップされたパラメーター / フィールドの名前を決定します。ClassSE<?>
ラップされたパラメーター / フィールドの宣言された(非ジェネリクス)型を決定します。ラップされたパラメーター / フィールドのResolvableType
オブジェクトを作成します。ラップされたパラメーター / フィールドのTypeDescriptor
オブジェクトを作成します。int
hashCode()
void
この記述子のネストレベルを上げます。void
initParameterNameDiscovery
(ParameterNameDiscoverer parameterNameDiscoverer) 基になるメソッドパラメーターがある場合は、パラメーター名の検出を初期化します。boolean
isEager()
型マッチングの潜在的なターゲット Bean を先行して解決するという意味で、この依存関係が「先行」であるかどうかを返します。boolean
この依存関係が必要かどうかを返します。resolveCandidate
(StringSE beanName, ClassSE<?> requiredType, BeanFactory beanFactory) この依存関係のマッチングアルゴリズムの候補結果として、指定された Bean 名を、指定されたファクトリの Bean インスタンスに解決します。resolveNotUnique
(ResolvableType type, MapSE<StringSE, ObjectSE> matchingBeans) 指定された一意でないシナリオを解決します。デフォルトでは、NoUniqueBeanDefinitionException
をスローします。resolveShortcut
(BeanFactory beanFactory) 特定のファクトリに対するこの依存関係のショートカットを解決します。たとえば、事前に解決された情報を考慮に入れます。void
setContainingClass
(ClassSE<?> containingClass) オプションで、この依存関係を含む具象クラスを設定します。boolean
この依存関係が、追加のプロキシなどを通じて遅延解決をサポートしているかどうかを判断します。boolean
この記述子がresolveCandidate(String, Class, BeanFactory)
の標準 Bean ルックアップを使用するかどうか、ファクトリレベルのショートカット解決の対象となるかどうかを判断します。クラス org.springframework.beans.factory.InjectionPoint から継承されたメソッド
getAnnotatedElement, getAnnotation, getAnnotations, getDeclaredType, getField, getMember, getMethodParameter, obtainMethodParameter, toString
コンストラクターの詳細
DependencyDescriptor
メソッドまたはコンストラクターパラメーターの新しい記述子を作成します。依存関係を「先行」と見なします。- パラメーター:
methodParameter
- ラップする MethodParameterrequired
- 依存関係が必要かどうか
DependencyDescriptor
メソッドまたはコンストラクターパラメーターの新しい記述子を作成します。- パラメーター:
methodParameter
- ラップする MethodParameterrequired
- 依存関係が必要かどうかeager
- 型マッチングのために潜在的なターゲット Bean を先行して解決するという意味で、この依存関係が「先行」であるかどうか
DependencyDescriptor
フィールドの新しい記述子を作成します。依存関係を「先行」と見なします。- パラメーター:
field
- ラップするフィールドrequired
- 依存関係が必要かどうか
DependencyDescriptor
フィールドの新しい記述子を作成します。- パラメーター:
field
- ラップするフィールドrequired
- 依存関係が必要かどうかeager
- 型マッチングのために潜在的なターゲット Bean を先行して解決するという意味で、この依存関係が「先行」であるかどうか
DependencyDescriptor
コピーコンストラクター。- パラメーター:
original
- コピーを作成する元の記述子
メソッドの詳細
isRequired
public boolean isRequired()この依存関係が必要かどうかを返します。オプションのセマンティクスは、Java 8 の
Optional
SE、パラメーターレベルのNullable
アノテーションのバリアント(JSR-305 または FindBugs アノテーションセットなど)、または Kotlin の言語レベルの null 許容型宣言から派生します。isEager
public boolean isEager()型マッチングの潜在的なターゲット Bean を先行して解決するという意味で、この依存関係が「先行」であるかどうかを返します。resolveNotUnique
@Nullable public ObjectSE resolveNotUnique(ResolvableType type, MapSE<StringSE, ObjectSE> matchingBeans) throws BeansException指定された一意でないシナリオを解決します。デフォルトでは、NoUniqueBeanDefinitionException
をスローします。サブクラスはこれをオーバーライドして、インスタンスの 1 つを選択するか、
null
を返すことで結果なしでオプトアウトすることができます。- パラメーター:
type
- リクエストされた Bean 型matchingBeans
- 指定された型に対して事前に選択されている Bean 名と対応する Bean インスタンスのマップ (すでに適用されている修飾子など)- 戻り値:
- 続行する Bean インスタンス、またはなしの
null
- 例外:
BeansException
- 一意ではないシナリオが致命的である場合- 導入:
- 5.1
resolveShortcut
特定のファクトリに対するこの依存関係のショートカットを解決します。たとえば、事前に解決された情報を考慮に入れます。解決アルゴリズムは、最初にこのメソッドを通じてショートカットの解決を試みてから、すべての Bean で通常の型マッチングアルゴリズムに進みます。サブクラスはこのメソッドをオーバーライドして、
InjectionPoint
露出などを受信しながら、事前にキャッシュされた情報に基づいて解決パフォーマンスを向上させることができます。- パラメーター:
beanFactory
- 関連するファクトリ- 戻り値:
- ショートカットの結果(存在する場合)、または
null
(存在しない場合) - 例外:
BeansException
- ショートカットを取得できなかった場合- 導入:
- 4.3.1
resolveCandidate
public ObjectSE resolveCandidate(StringSE beanName, ClassSE<?> requiredType, BeanFactory beanFactory) throws BeansException この依存関係のマッチングアルゴリズムの候補結果として、指定された Bean 名を、指定されたファクトリの Bean インスタンスに解決します。デフォルトの実装は
BeanFactory.getBean(String)
を呼び出します。サブクラスは、追加の引数またはその他のカスタマイズを提供する場合があります。- パラメーター:
beanName
- この依存関係の候補結果としての Bean 名requiredType
- Bean の予想される型 (アサーションとして)beanFactory
- 関連するファクトリ- 戻り値:
- Bean インスタンス (非
null
) - 例外:
BeansException
- Bean を取得できなかった場合- 導入:
- 4.3.2
- 関連事項:
increaseNestingLevel
public void increaseNestingLevel()この記述子のネストレベルを上げます。setContainingClass
オプションで、この依存関係を含む具象クラスを設定します。これは、パラメーター / フィールドを宣言するクラスとは異なる場合があり、そのサブクラスである可能性があり、型変数を置き換える可能性があります。- 導入:
- 4.0
getResolvableType
ラップされたパラメーター / フィールドのResolvableType
オブジェクトを作成します。- 導入:
- 4.0
getTypeDescriptor
ラップされたパラメーター / フィールドのTypeDescriptor
オブジェクトを作成します。- 導入:
- 5.1.4
fallbackMatchAllowed
public boolean fallbackMatchAllowed()フォールバック一致が許可されるかどうかを返します。これはデフォルトでは
false
ですが、AutowireCandidateResolver
にフォールバック一致も許容されることを提案するために、true
を返すようにオーバーライドできます。- 導入:
- 4.0
forFallbackMatch
フォールバック一致を目的としたこの記述子のバリアントを返します。- 導入:
- 4.0
- 関連事項:
initParameterNameDiscovery
基になるメソッドパラメーターがある場合は、パラメーター名の検出を初期化します。このメソッドは、実際にはこの時点でパラメーター名を取得しようとしません。アプリケーションが
getDependencyName()
を呼び出したときにディスカバリが発生するようにします(もしあれば)。getDependencyName
ラップされたパラメーター / フィールドの名前を決定します。- 戻り値:
- 宣言された名前 (解決できない場合は
null
である可能性があります)
getDependencyType
ラップされたパラメーター / フィールドの宣言された(非ジェネリクス)型を決定します。- 戻り値:
- 宣言された型 (非
null
)
supportsLazyResolution
public boolean supportsLazyResolution()この依存関係が、追加のプロキシなどによる遅延解決をサポートするかどうかを決定します。デフォルトはtrue
です。usesStandardBeanLookup
public boolean usesStandardBeanLookup()この記述子がresolveCandidate(String, Class, BeanFactory)
の標準 Bean ルックアップを使用するかどうか、ファクトリレベルのショートカット解決の対象となるかどうかを判断します。デフォルトでは、
DependencyDescriptor
クラス自体は標準の Bean ルックアップを使用しますが、サブクラスはこれをオーバーライドできます。サブクラスが他のメソッドをオーバーライドしながらも標準の Bean ルックアップを保持する場合、このメソッドをオーバーライドしてtrue
を返すことができます。- 導入:
- 6.2
- 関連事項:
equals
- オーバーライド:
- クラス
InjectionPoint
のequals
hashCode
public int hashCode()- オーバーライド:
- クラス
InjectionPoint
のhashCode