クラス DefaultListableBeanFactory
- 実装されたすべてのインターフェース:
SerializableSE
、BeanFactory
、AutowireCapableBeanFactory
、ConfigurableBeanFactory
、ConfigurableListableBeanFactory
、SingletonBeanRegistry
、HierarchicalBeanFactory
、ListableBeanFactory
、BeanDefinitionRegistry
、AliasRegistry
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
- 関連事項:
registerBeanDefinition(java.lang.String, org.springframework.beans.factory.config.BeanDefinition)
AbstractBeanFactory.addBeanPostProcessor(org.springframework.beans.factory.config.BeanPostProcessor)
getBean(java.lang.Class<T>)
resolveDependency(org.springframework.beans.factory.config.DependencyDescriptor, java.lang.String, java.util.Set<java.lang.String>, org.springframework.beans.TypeConverter)
- 直列化された形式
フィールドサマリー
クラス org.springframework.core.SimpleAliasRegistry から継承されたフィールド
logger
インターフェース org.springframework.beans.factory.config.AutowireCapableBeanFactory から継承されたフィールド
AUTOWIRE_AUTODETECT, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AUTOWIRE_CONSTRUCTOR, AUTOWIRE_NO, ORIGINAL_INSTANCE_SUFFIX
インターフェース org.springframework.beans.factory.BeanFactory から継承されたフィールド
FACTORY_BEAN_PREFIX
インターフェース org.springframework.beans.factory.config.ConfigurableBeanFactory から継承されたフィールド
SCOPE_PROTOTYPE, SCOPE_SINGLETON
コンストラクターのサマリー
コンストラクター説明新しい DefaultListableBeanFactory を作成します。DefaultListableBeanFactory
(BeanFactory parentBeanFactory) 指定された親を持つ新しい DefaultListableBeanFactory を作成します。メソッドのサマリー
修飾子と型メソッド説明protected boolean
Bean 定義のオーバーライドが許可されている場合にのみ、エイリアスのオーバーライドを許可します。protected void
checkForAliasCircle
(StringSE name, StringSE alias) また、同じ名前の Bean 定義をオーバーライドするエイリアスをチェックします。protected void
clearMergedBeanDefinition
(StringSE beanName) 指定された Bean のマージされた Bean 定義を削除し、次のアクセスで再作成します。void
マージされた Bean 定義キャッシュをクリアして、完全なメタデータキャッシュにまだ適格と見なされていない Bean のエントリを削除します。boolean
containsBeanDefinition
(StringSE beanName) この Bean ファクトリに、指定された名前の Bean 定義が含まれているかどうかを確認します。void
copyConfigurationFrom
(ConfigurableBeanFactory otherFactory) 指定された他のファクトリから関連するすべての構成をコピーします。void
destroySingleton
(StringSE beanName) 指定された Bean を破棄します。void
使い捨てとして登録されているインナー Bean を含め、このファクトリ内のすべてのシングルトン Bean を破棄します。protected StringSE
determineAutowireCandidate
(MapSE<StringSE, ObjectSE> candidates, DependencyDescriptor descriptor) 指定された Bean のセットでオートワイヤーの候補を決定します。protected StringSE
determineHighestPriorityCandidate
(MapSE<StringSE, ObjectSE> candidates, ClassSE<?> requiredType) 指定された Bean のセットで最も高い優先度を持つ候補を決定します。protected StringSE
determinePrimaryCandidate
(MapSE<StringSE, ObjectSE> candidates, ClassSE<?> requiredType) 指定された Bean のセットの主要な候補を決定します。doResolveDependency
(DependencyDescriptor descriptor, StringSE beanName, SetSE<StringSE> autowiredBeanNames, TypeConverter typeConverter) <A extends AnnotationSE>
SetSE<A>findAllAnnotationsOnBean
(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit) 指定された Bean 上のannotationType
のすべてのAnnotation
SE インスタンスを検索し、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスを走査し、Bean のファクトリメソッド (存在する場合) をチェックします。<A extends AnnotationSE>
AfindAnnotationOnBean
(StringSE beanName, ClassSE<A> annotationType) 指定された Bean でannotationType
のAnnotation
SE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。<A extends AnnotationSE>
AfindAnnotationOnBean
(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit) 指定された Bean でannotationType
のAnnotation
SE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。findAutowireCandidates
(StringSE beanName, ClassSE<?> requiredType, DependencyDescriptor descriptor) 必要な型に一致する Bean インスタンスを見つけます。void
すべての Bean 定義をフリーズし、登録された Bean 定義がこれ以上変更または後処理されないことを通知します。この BeanFactory のオートワイヤ候補リゾルバーを返します(決してnull
ではありません)。<T> T
指定されたオブジェクト型が存在する場合、一意に一致する Bean インスタンスを返します。<T> T
指定された Bean のインスタンス(共有または独立)を返します。getBeanDefinition
(StringSE beanName) 指定された Bean 名の Bean 定義を返します。int
ファクトリで定義されている Bean の数を返します。StringSE[]
このファクトリで定義されているすべての Bean の名前を返します。StringSE[]
getBeanNamesForAnnotation
(ClassSE<? extends AnnotationSE> annotationType) 対応する Bean インスタンスをまだ作成せずに、提供されたAnnotation
SE 型でアノテーションが付けられている Bean のすべての名前を検索します。StringSE[]
getBeanNamesForType
(ClassSE<?> type) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。StringSE[]
getBeanNamesForType
(ClassSE<?> type, boolean includeNonSingletons, boolean allowEagerInit) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。StringSE[]
Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。StringSE[]
getBeanNamesForType
(ResolvableType type, boolean includeNonSingletons, boolean allowEagerInit) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。このファクトリが管理するすべての Bean 名の統一ビューを返します。<T> ObjectProvider<T>
getBeanProvider
(ClassSE<T> requiredType) 指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。<T> ObjectProvider<T>
getBeanProvider
(ClassSE<T> requiredType, boolean allowEagerInit) 指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。<T> ObjectProvider<T>
getBeanProvider
(ResolvableType requiredType) 指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。<T> ObjectProvider<T>
getBeanProvider
(ResolvableType requiredType, boolean allowEagerInit) 指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。getBeansOfType
(ClassSE<T> type) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。getBeansOfType
(ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) Bean 定義または FactoryBeans の場合はgetObjectType
の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。getBeansWithAnnotation
(ClassSE<? extends AnnotationSE> annotationType) 指定されたAnnotation
SE 型でアノテーションが付けられたすべての Bean を検索し、対応する Bean インスタンスを持つ Bean 名のマップを返します。この BeanFactory の依存関係コンパレーターを返します(null
の場合もあります)。protected IntegerSE
getPriority
(ObjectSE beanInstance) jakarta.annotation.Priority
アノテーションによって、指定された Bean インスタンスに割り当てられた優先順位を返します。必要に応じて、直列化の目的で ID を返します(指定されている場合)。この BeanFactory をこの ID から逆直列化して、BeanFactory オブジェクトに戻すことができます。boolean
同じ名前で別の定義を登録し、前者を自動的に置き換えて、Bean 定義をオーバーライドできるかどうかを返します。boolean
"lazy-init" としてマークされている Bean 定義についても、ファクトリが Bean クラスを積極的にロードできるかどうかを返します。boolean
isAutowireCandidate
(StringSE beanName, DependencyDescriptor descriptor) 指定された Bean が、一致する型の依存関係を宣言する他の Bean に注入されるオートワイヤー候補として適格であるかどうかを判別します。protected boolean
isAutowireCandidate
(StringSE beanName, DependencyDescriptor descriptor, AutowireCandidateResolver resolver) 指定された Bean 定義が、一致型の依存関係を宣言する他の Bean に注入されるオートワイヤー候補として適格であるかどうかを判別します。protected boolean
isAutowireCandidate
(StringSE beanName, RootBeanDefinition mbd, DependencyDescriptor descriptor, AutowireCandidateResolver resolver) 指定された Bean 定義が、一致型の依存関係を宣言する他の Bean に注入されるオートワイヤー候補として適格であるかどうかを判別します。boolean
isBeanDefinitionOverridable
(StringSE beanName) Bean 定義のオーバーライドが通常許可されている場合、この実装はtrue
を返します。protected boolean
isBeanEligibleForMetadataCaching
(StringSE beanName) ファクトリの構成が凍結としてマークされている場合、すべての Bean がメタデータキャッシングの対象と見なされます。boolean
このファクトリの Bean 定義が凍結されているかどうか、つまりprotected boolean
指定された Bean 名の Bean 定義がプライマリ Bean としてマークされているかどうかを返します。protected boolean
matchesBeanName
(StringSE beanName, StringSE candidateName) 指定された候補名が Bean 名またはこの Bean 定義に保管されている別名と一致するかどうかを判別します。protected ObjectSE
obtainInstanceFromSupplier
(SupplierSE<?> supplier, StringSE beanName, RootBeanDefinition mbd) 指定されたサプライヤーから Bean インスタンスを取得します。void
FactoryBeans
も考慮して、lazy-init 以外のすべてのシングルトンがインスタンス化されていることを確認してください。void
registerBeanDefinition
(StringSE beanName, BeanDefinition beanDefinition) このレジストリに新しい Bean 定義を登録します。void
registerResolvableDependency
(ClassSE<?> dependencyType, ObjectSE autowiredValue) 対応するオートワイヤーされた値で特別な依存関係型を登録します。void
registerSingleton
(StringSE beanName, ObjectSE singletonObject) 指定された既存のオブジェクトを、指定された Bean 名で、Bean レジストリにシングルトンとして登録します。void
removeBeanDefinition
(StringSE beanName) 指定された名前の BeanDefinition を削除します。protected void
resetBeanDefinition
(StringSE beanName) 指定された Bean のすべての Bean 定義キャッシュを、そこから派生した Bean のキャッシュを含めてリセットします。resolveDependency
(DependencyDescriptor descriptor, StringSE requestingBeanName, SetSE<StringSE> autowiredBeanNames, TypeConverter typeConverter) このファクトリで定義された Bean に対する指定された依存関係を解決します。<T> NamedBeanHolder<T>
resolveNamedBean
(ClassSE<T> requiredType) 指定されたオブジェクト型(存在する場合)に一意に一致する Bean インスタンスを、その Bean 名を含めて解決します。void
setAllowBeanDefinitionOverriding
(boolean allowBeanDefinitionOverriding) 同じ名前で別の定義を登録し、前者を自動的に置き換えて、Bean 定義をオーバーライドできるようにするかどうかを設定します。void
setAllowEagerClassLoading
(boolean allowEagerClassLoading) "lazy-init" とマークされている Bean 定義に対しても、ファクトリが Bean クラスを積極的にロードできるかどうかを設定します。void
setAutowireCandidateResolver
(AutowireCandidateResolver autowireCandidateResolver) この BeanFactory のカスタムオートワイヤー候補リゾルバーを設定して、Bean 定義をオートワイヤーの候補と見なすかどうかを決定するときに使用します。void
setDependencyComparator
(ComparatorSE<ObjectSE> dependencyComparator) 依存リストと配列のComparator
SE を設定します。void
setSerializationId
(StringSE serializationId) 直列化の目的で ID を指定し、必要に応じてこの BeanFactory をこの ID から BeanFactory オブジェクトに逆直列化できるようにします。toString()
protected ObjectSE
クラス org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory から継承されたメソッド
applyBeanPostProcessorsAfterInitialization, applyBeanPostProcessorsBeforeInitialization, applyBeanPostProcessorsBeforeInstantiation, applyBeanPropertyValues, applyMergedBeanDefinitionPostProcessors, applyPropertyValues, autowire, autowireBean, autowireBeanProperties, autowireByName, autowireByType, autowireConstructor, checkDependencies, clearSingletonCache, configureBean, createBean, createBean, createBean, createBeanInstance, destroyBean, determineConstructorsFromBeanPostProcessors, determineTargetType, doCreateBean, filterPropertyDescriptorsForDependencyCheck, filterPropertyDescriptorsForDependencyCheck, getEarlyBeanReference, getInstantiationStrategy, getObjectForBeanInstance, getParameterNameDiscoverer, getTypeForFactoryBean, getTypeForFactoryMethod, ignoreDependencyInterface, ignoreDependencyType, initializeBean, initializeBean, instantiateBean, instantiateUsingFactoryMethod, invokeCustomInitMethod, invokeInitMethods, isAllowCircularReferences, isAllowRawInjectionDespiteWrapping, isExcludedFromDependencyCheck, populateBean, postProcessObjectFromFactoryBean, predictBeanType, removeSingleton, resolveBeanByName, resolveBeforeInstantiation, resolveDependency, setAllowCircularReferences, setAllowRawInjectionDespiteWrapping, setInstantiationStrategy, setParameterNameDiscoverer, unsatisfiedNonSimpleProperties
クラス org.springframework.beans.factory.support.AbstractBeanFactory から継承されたメソッド
addBeanPostProcessor, addBeanPostProcessors, addEmbeddedValueResolver, addPropertyEditorRegistrar, afterPrototypeCreation, beforePrototypeCreation, checkMergedBeanDefinition, cleanupAfterBeanCreationFailure, containsBean, containsLocalBean, copyRegisteredEditorsTo, destroyBean, destroyBean, destroyScopedBean, doGetBean, evaluateBeanDefinitionString, getAliases, getApplicationStartup, getBean, getBean, getBean, getBean, getBeanClassLoader, getBeanExpressionResolver, getBeanPostProcessorCount, getBeanPostProcessors, getConversionService, getCustomEditors, getCustomTypeConverter, getMergedBeanDefinition, getMergedBeanDefinition, getMergedBeanDefinition, getMergedLocalBeanDefinition, getParentBeanFactory, getPropertyEditorRegistrars, getRegisteredScope, getRegisteredScopeNames, getTempClassLoader, getType, getType, getTypeConverter, hasBeanCreationStarted, hasDestructionAwareBeanPostProcessors, hasEmbeddedValueResolver, hasInstantiationAwareBeanPostProcessors, initBeanWrapper, isActuallyInCreation, isBeanNameInUse, isCacheBeanMetadata, isFactoryBean, isFactoryBean, isPrototype, isPrototypeCurrentlyInCreation, isSingleton, isTypeMatch, isTypeMatch, isTypeMatch, markBeanAsCreated, originalBeanName, registerCustomEditor, registerCustomEditors, registerDisposableBeanIfNecessary, registerScope, removeSingletonIfCreatedForTypeCheckOnly, requiresDestruction, resolveBeanClass, resolveEmbeddedValue, setApplicationStartup, setBeanClassLoader, setBeanExpressionResolver, setCacheBeanMetadata, setConversionService, setParentBeanFactory, setTempClassLoader, setTypeConverter, transformedBeanName
クラス org.springframework.beans.factory.support.FactoryBeanRegistrySupport から継承されたメソッド
getCachedObjectForFactoryBean, getFactoryBean, getObjectFromFactoryBean, getTypeForFactoryBean
クラス org.springframework.beans.factory.support.DefaultSingletonBeanRegistry から継承されたメソッド
addSingleton, addSingletonFactory, afterSingletonCreation, beforeSingletonCreation, containsSingleton, destroyBean, getDependenciesForBean, getDependentBeans, getSingleton, getSingleton, getSingleton, getSingletonCount, getSingletonMutex, getSingletonNames, hasDependentBean, isCurrentlyInCreation, isDependent, isSingletonCurrentlyInCreation, onSuppressedException, registerContainedBean, registerDependentBean, registerDisposableBean, setCurrentlyInCreation
クラス org.springframework.core.SimpleAliasRegistry から継承されたメソッド
canonicalName, hasAlias, isAlias, registerAlias, removeAlias, resolveAliases
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.core.AliasRegistry から継承されたメソッド
getAliases, isAlias, registerAlias, removeAlias
インターフェース org.springframework.beans.factory.config.AutowireCapableBeanFactory から継承されたメソッド
applyBeanPostProcessorsAfterInitialization, applyBeanPostProcessorsBeforeInitialization, applyBeanPropertyValues, autowire, autowireBean, autowireBeanProperties, configureBean, createBean, createBean, destroyBean, initializeBean, resolveBeanByName, resolveDependency
インターフェース org.springframework.beans.factory.support.BeanDefinitionRegistry から継承されたメソッド
isBeanNameInUse
インターフェース org.springframework.beans.factory.BeanFactory から継承されたメソッド
containsBean, getAliases, getBean, getBean, getBean, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
インターフェース org.springframework.beans.factory.config.ConfigurableBeanFactory から継承されたメソッド
addBeanPostProcessor, addEmbeddedValueResolver, addPropertyEditorRegistrar, copyRegisteredEditorsTo, destroyBean, destroyScopedBean, getApplicationStartup, getBeanClassLoader, getBeanExpressionResolver, getBeanPostProcessorCount, getConversionService, getDependenciesForBean, getDependentBeans, getMergedBeanDefinition, getRegisteredScope, getRegisteredScopeNames, getTempClassLoader, getTypeConverter, hasEmbeddedValueResolver, isCacheBeanMetadata, isCurrentlyInCreation, isFactoryBean, registerAlias, registerCustomEditor, registerDependentBean, registerScope, resolveAliases, resolveEmbeddedValue, setApplicationStartup, setBeanClassLoader, setBeanExpressionResolver, setCacheBeanMetadata, setConversionService, setCurrentlyInCreation, setParentBeanFactory, setTempClassLoader, setTypeConverter
インターフェース org.springframework.beans.factory.config.ConfigurableListableBeanFactory から継承されたメソッド
ignoreDependencyInterface, ignoreDependencyType
インターフェース org.springframework.beans.factory.HierarchicalBeanFactory から継承されたメソッド
containsLocalBean, getParentBeanFactory
インターフェース org.springframework.beans.factory.config.SingletonBeanRegistry から継承されたメソッド
containsSingleton, getSingleton, getSingletonCount, getSingletonMutex, getSingletonNames
コンストラクターの詳細
DefaultListableBeanFactory
public DefaultListableBeanFactory()新しい DefaultListableBeanFactory を作成します。DefaultListableBeanFactory
指定された親を持つ新しい DefaultListableBeanFactory を作成します。- パラメーター:
parentBeanFactory
- 親 BeanFactory
メソッドの詳細
setSerializationId
直列化の目的で ID を指定し、必要に応じてこの BeanFactory をこの ID から BeanFactory オブジェクトに逆直列化できるようにします。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
依存リストと配列のComparator
SE を設定します。- 導入:
- 4.0
- 関連事項:
getDependencyComparator
この BeanFactory の依存関係コンパレーターを返します(null
の場合もあります)。- 導入:
- 4.0
setAutowireCandidateResolver
この BeanFactory のカスタムオートワイヤー候補リゾルバーを設定して、Bean 定義をオートワイヤーの候補と見なすかどうかを決定するときに使用します。getAutowireCandidateResolver
この BeanFactory のオートワイヤ候補リゾルバーを返します(決してnull
ではありません)。copyConfigurationFrom
インターフェースからコピーされた説明:ConfigurableBeanFactory
指定された他のファクトリから関連するすべての構成をコピーします。BeanPostProcessors、スコープ、ファクトリ固有の内部設定だけでなく、すべての標準構成設定を含める必要があります。BeanDefinition オブジェクトや Bean 名のエイリアスなど、実際の Bean 定義のメタデータを含めないでください。
- 次で指定:
- インターフェース
ConfigurableBeanFactory
のcopyConfigurationFrom
- オーバーライド:
- クラス
AbstractAutowireCapableBeanFactory
のcopyConfigurationFrom
- パラメーター:
otherFactory
- コピー元のもう 1 つの BeanFactory
getBean
インターフェースからコピーされた説明:BeanFactory
指定されたオブジェクト型が存在する場合、一意に一致する Bean インスタンスを返します。このメソッドは、
ListableBeanFactory
の型別ルックアップ領域に入りますが、指定された型の名前に基づいた従来の名前別ルックアップにも変換できます。Bean のセット全体でより広範な検索操作を行うには、ListableBeanFactory
またはBeanFactoryUtils
(あるいはその両方)を使用します。- 次で指定:
- インターフェース
BeanFactory
のgetBean
- パラメーター:
requiredType
- Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます- 戻り値:
- 必要な型に一致する単一の Bean のインスタンス
- 例外:
NoSuchBeanDefinitionException
- 指定された型の Bean が見つからなかった場合NoUniqueBeanDefinitionException
- 指定された型の複数の Bean が見つかった場合BeansException
- Bean を作成できなかった場合- 関連事項:
getBean
インターフェースからコピーされた説明:BeanFactory
指定された Bean のインスタンス(共有または独立)を返します。Bean 定義で指定されたデフォルト引数 (存在する場合) をオーバーライドして、明示的なコンストラクター引数 / ファクトリメソッド引数を指定できるようにします。指定された引数は、宣言されたパラメーターの順序で特定の候補コンストラクター / ファクトリメソッドと一致する必要があることに注意してください。
このメソッドは、
ListableBeanFactory
の型別ルックアップ領域に入りますが、指定された型の名前に基づいた従来の名前別ルックアップにも変換できます。Bean のセット全体でより広範な検索操作を行うには、ListableBeanFactory
またはBeanFactoryUtils
(あるいはその両方)を使用します。- 次で指定:
- インターフェース
BeanFactory
のgetBean
- パラメーター:
requiredType
- Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができますargs
- 明示的な引数を使用して Bean インスタンスを作成するときに使用する引数 (既存のインスタンスを取得するのではなく、新しいインスタンスを作成するときにのみ適用されます)- 戻り値:
- Bean のインスタンス
- 例外:
NoSuchBeanDefinitionException
- そのような Bean 定義がない場合BeanDefinitionStoreException
- 引数は指定されているが、影響を受ける Bean がプロトタイプではない場合BeansException
- Bean を作成できなかった場合
getBeanProvider
インターフェースからコピーされた説明:BeanFactory
指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。ジェネリクス型を照合するには、
BeanFactory.getBeanProvider(ResolvableType)
を検討してください。- 次で指定:
- インターフェース
BeanFactory
のgetBeanProvider
- パラメーター:
requiredType
- Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます- 戻り値:
- 対応するプロバイダーのハンドル
- 関連事項:
getBeanProvider
インターフェースからコピーされた説明:BeanFactory
指定された Bean のプロバイダーを返します。これにより、可用性と一意性のオプションを含む、インスタンスの遅延オンデマンド取得が可能になります。このバリアントでは、メソッド / コンストラクターパラメーターでジェネリクス型宣言を使用するリフレクションインジェクションポイントと同様に、一致するジェネリクス型を指定できます。リフレクティブインジェクションポイントとは対照的に、ここでは Bean のコレクションはサポートされていないことに注意してください。特定の型に一致する Bean のリストをプログラムで取得するには、ここで引数として実際の Bean 型を指定し、その後
ObjectProvider.orderedStream()
またはその遅延ストリーミング / 反復オプションを使用します。また、Java の割り当て規則に従って、ジェネリクスのマッチングはここでは厳密です。未チェックのセマンティクス(「未チェック」の Java コンパイラー警告と同様)を使用した寛大なフォールバックマッチングの場合、このバリアントとの完全な汎用一致が
available
でない場合は、2 番目のステップとして raw 型を使用してBeanFactory.getBeanProvider(Class)
を呼び出すことを検討してください。- 次で指定:
- インターフェース
BeanFactory
のgetBeanProvider
- パラメーター:
requiredType
- Bean が一致する必要があると入力します。ジェネリクス型宣言にすることができます- 戻り値:
- 対応するプロバイダーのハンドル
- 関連事項:
containsBeanDefinition
クラスからコピーされた説明:AbstractBeanFactory
この Bean ファクトリに、指定された名前の Bean 定義が含まれているかどうかを確認します。このファクトリが参加する可能性のある階層は考慮されません。キャッシュされたシングルトンインスタンスが見つからない場合、containsBean
によって呼び出されます。具体的な Bean ファクトリ実装の性質によっては、この操作は(たとえば、外部レジストリでのディレクトリルックアップのため)コストがかかる場合があります。ただし、リスト可能な Bean ファクトリの場合、これは通常、ローカルハッシュルックアップに相当します。操作はパブリックインターフェースの一部です。この場合、同じ実装がこのテンプレートメソッドとパブリックインターフェースメソッドの両方に使用できます。
- 次で指定:
- インターフェース
BeanDefinitionRegistry
のcontainsBeanDefinition
- 次で指定:
- インターフェース
ListableBeanFactory
のcontainsBeanDefinition
- 次で指定:
- クラス
AbstractBeanFactory
のcontainsBeanDefinition
- パラメーター:
beanName
- 検索する Bean の名前- 戻り値:
- この Bean ファクトリに、指定された名前の Bean 定義が含まれている場合
- 関連事項:
getBeanDefinitionCount
public int getBeanDefinitionCount()インターフェースからコピーされた説明:ListableBeanFactory
ファクトリで定義されている Bean の数を返します。このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。
- 次で指定:
- インターフェース
BeanDefinitionRegistry
のgetBeanDefinitionCount
- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeanDefinitionCount
- 戻り値:
- ファクトリで定義された Bean の数
getBeanDefinitionNames
インターフェースからコピーされた説明:ListableBeanFactory
このファクトリで定義されているすべての Bean の名前を返します。このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。
- 次で指定:
- インターフェース
BeanDefinitionRegistry
のgetBeanDefinitionNames
- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeanDefinitionNames
- 戻り値:
- このファクトリで定義されているすべての Bean の名前。定義されていない場合は空の配列
getBeanProvider
インターフェースからコピーされた説明:ListableBeanFactory
指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeanProvider
- パラメーター:
requiredType
- Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができますallowEagerInit
- ストリームベースのアクセスが、型チェックのために FactoryBeans (または "factory-bean" 参照を使用するファクトリメソッド)によって作成された lazy-init シングルトンおよびオブジェクトを初期化できるかどうか- 戻り値:
- 対応するプロバイダーのハンドル
- 関連事項:
getBeanProvider
インターフェースからコピーされた説明:ListableBeanFactory
指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeanProvider
- パラメーター:
requiredType
- Bean が一致する必要がある型。ジェネリクス型宣言にすることができます。ここでは、反射インジェクションポイントとは対照的に、コレクション型はサポートされていません。プログラムで特定の型に一致する Bean のリストを取得するには、実際の Bean 型をここで引数として指定し、その後ObjectProvider.orderedStream()
またはその遅延ストリーミング / 反復オプションを使用します。allowEagerInit
- ストリームベースのアクセスが、型チェックのために FactoryBeans (または "factory-bean" 参照を使用するファクトリメソッド)によって作成された lazy-init シングルトンおよびオブジェクトを初期化できるかどうか- 戻り値:
- 対応するプロバイダーのハンドル
- 関連事項:
getBeanNamesForType
インターフェースからコピーされた説明: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 名を返す必要があります。
- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeanNamesForType
- パラメーター:
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 名を返す必要があります。
- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeanNamesForType
- パラメーター:
type
- 一致する一般的に型指定されたクラスまたはインターフェースincludeNonSingletons
- プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)allowEagerInit
- 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンとオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。- 戻り値:
- 指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
- 関連事項:
getBeanNamesForType
インターフェースからコピーされた説明: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 名を返す必要があります。
- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeanNamesForType
- パラメーター:
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 名を返す必要があります。
- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeanNamesForType
- パラメーター:
type
- 一致させるクラスまたはインターフェース、またはすべての Bean 名のnull
includeNonSingletons
- プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)allowEagerInit
- 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンとオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。- 戻り値:
- 指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
- 関連事項:
getBeansOfType
インターフェースからコピーされた説明: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 インスタンスを返す必要があります。
- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeansOfType
- パラメーター:
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 インスタンスを返す必要があります。
- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeansOfType
- パラメーター:
type
- 一致するクラスまたはインターフェース、またはすべての具象 Bean のnull
includeNonSingletons
- プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)allowEagerInit
- 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンとオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。- 戻り値:
- キーとしての Bean 名と値としての対応する Bean インスタンスを含む、一致する Bean を持つマップ
- 例外:
BeansException
- Bean を作成できなかった場合- 関連事項:
getBeanNamesForAnnotation
インターフェースからコピーされた説明:ListableBeanFactory
対応する Bean インスタンスをまだ作成せずに、提供されたAnnotation
SE 型でアノテーションが付けられている Bean のすべての名前を検索します。このメソッドは FactoryBeans によって作成されたオブジェクトを考慮することに注意してください。つまり、FactoryBeans はオブジェクト型を決定するために初期化されます。
- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeanNamesForAnnotation
- パラメーター:
annotationType
- 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)- 戻り値:
- 一致するすべての Bean の名前
- 関連事項:
getBeansWithAnnotation
public MapSE<StringSE,ObjectSE> getBeansWithAnnotation(ClassSE<? extends AnnotationSE> annotationType) インターフェースからコピーされた説明:ListableBeanFactory
指定されたAnnotation
SE 型でアノテーションが付けられたすべての Bean を検索し、対応する Bean インスタンスを持つ Bean 名のマップを返します。このメソッドは FactoryBeans によって作成されたオブジェクトを考慮することに注意してください。つまり、FactoryBeans はオブジェクト型を決定するために初期化されます。
- 次で指定:
- インターフェース
ListableBeanFactory
のgetBeansWithAnnotation
- パラメーター:
annotationType
- 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)- 戻り値:
- キーとしての Bean 名と値としての対応する Bean インスタンスを含む、一致する Bean を持つマップ
- 関連事項:
findAnnotationOnBean
@Nullable public <A extends AnnotationSE> A findAnnotationOnBean(StringSE beanName, ClassSE<A> annotationType) throws NoSuchBeanDefinitionException インターフェースからコピーされた説明:ListableBeanFactory
指定された Bean でannotationType
のAnnotation
SE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。- 次で指定:
- インターフェース
ListableBeanFactory
のfindAnnotationOnBean
- パラメーター:
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
のAnnotation
SE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。- 次で指定:
- インターフェース
ListableBeanFactory
のfindAnnotationOnBean
- パラメーター:
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
のすべてのAnnotation
SE インスタンスを検索し、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスを走査し、Bean のファクトリメソッド (存在する場合) をチェックします。- 次で指定:
- インターフェース
ListableBeanFactory
のfindAllAnnotationsOnBean
- パラメーター:
beanName
- アノテーションを探す Bean の名前annotationType
- 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)allowFactoryBeanInit
-FactoryBean
がオブジェクト型を判別する目的でのみ初期化されるかどうか- 戻り値:
- 見つかった特定の型のアノテーションのセット (潜在的に空)
- 例外:
NoSuchBeanDefinitionException
- 指定された名前の Bean がない場合- 関連事項:
registerResolvableDependency
public void registerResolvableDependency(ClassSE<?> dependencyType, @Nullable ObjectSE autowiredValue) インターフェースからコピーされた説明:ConfigurableListableBeanFactory
対応するオートワイヤーされた値で特別な依存関係型を登録します。これは、自動回転可能であることが想定されているが、ファクトリで Bean として定義されていないファクトリ / コンテキスト参照を対象としています。Bean が存在する ApplicationContext インスタンスに解決される型 ApplicationContext の依存関係。
メモ: プレーンな BeanFactory に登録されているそのようなデフォルトの型はありません。BeanFactory インターフェース自体についても同様です。
- 次で指定:
- インターフェース
ConfigurableListableBeanFactory
のregisterResolvableDependency
- パラメーター:
dependencyType
- 登録する依存関係型。これは通常、BeanFactory などの基本インターフェースであり、自動拡張依存関係(ListableBeanFactory など)として宣言されている場合は、指定された値が実際に拡張インターフェースを実装している限り、その拡張機能も解決されます。autowiredValue
- 対応するオートワイヤー値。これは、実際のターゲット値の遅延解決を可能にするObjectFactory
インターフェースの実装でもあります。
isAutowireCandidate
public boolean isAutowireCandidate(StringSE beanName, DependencyDescriptor descriptor) throws NoSuchBeanDefinitionException インターフェースからコピーされた説明:ConfigurableListableBeanFactory
指定された Bean が、一致する型の依存関係を宣言する他の Bean に注入されるオートワイヤー候補として適格であるかどうかを判別します。このメソッドは、祖先ファクトリもチェックします。
- 次で指定:
- インターフェース
ConfigurableListableBeanFactory
のisAutowireCandidate
- パラメーター:
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
クラスからコピーされた説明:AbstractBeanFactory
指定された Bean 名の Bean 定義を返します。このメソッドは Bean 定義のメタデータが必要になるたびにこのクラスによって呼び出されるため、サブクラスは通常キャッシュを実装する必要があります。具体的な Bean ファクトリ実装の性質によっては、この操作は(たとえば、外部レジストリでのディレクトリルックアップのため)コストがかかる場合があります。ただし、リスト可能な Bean ファクトリの場合、これは通常、ローカルハッシュルックアップに相当します。操作はパブリックインターフェースの一部です。この場合、同じ実装がこのテンプレートメソッドとパブリックインターフェースメソッドの両方に使用できます。
- 次で指定:
- インターフェース
BeanDefinitionRegistry
のgetBeanDefinition
- 次で指定:
- インターフェース
ConfigurableListableBeanFactory
のgetBeanDefinition
- 次で指定:
- クラス
AbstractBeanFactory
のgetBeanDefinition
- パラメーター:
beanName
- 定義を検索する Bean の名前- 戻り値:
- このプロトタイプ名の BeanDefinition (非
null
) - 例外:
NoSuchBeanDefinitionException
- Bean 定義を解決できない場合- 関連事項:
getBeanNamesIterator
インターフェースからコピーされた説明:ConfigurableListableBeanFactory
このファクトリが管理するすべての Bean 名の統一ビューを返します。Bean 定義名と手動で登録されたシングルトンインスタンスの名前が含まれます。Bean 定義名が一貫して最初に来ます。これは、Bean 名の型 / アノテーション固有の検索が機能する方法に類似しています。
- 次で指定:
- インターフェース
ConfigurableListableBeanFactory
のgetBeanNamesIterator
- 戻り値:
- Bean 名前ビューの複合イテレータ
- 関連事項:
ListableBeanFactory.containsBeanDefinition(java.lang.String)
SingletonBeanRegistry.registerSingleton(java.lang.String, java.lang.Object)
ListableBeanFactory.getBeanNamesForType(org.springframework.core.ResolvableType)
ListableBeanFactory.getBeanNamesForAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>)
clearMergedBeanDefinition
クラスからコピーされた説明:AbstractBeanFactory
指定された Bean のマージされた Bean 定義を削除し、次のアクセスで再作成します。- オーバーライド:
- クラス
AbstractBeanFactory
のclearMergedBeanDefinition
- パラメーター:
beanName
- マージされた定義をクリアする Bean 名
clearMetadataCache
public void clearMetadataCache()クラスからコピーされた説明:AbstractBeanFactory
マージされた Bean 定義キャッシュをクリアして、完全なメタデータキャッシュにまだ適格と見なされていない Bean のエントリを削除します。通常、元の Bean 定義への変更後にトリガーされます。
BeanFactoryPostProcessor
を適用した後。この時点ですでに作成されている Bean のメタデータは保持されます。freezeConfiguration
public void freezeConfiguration()インターフェースからコピーされた説明:ConfigurableListableBeanFactory
すべての Bean 定義をフリーズし、登録された Bean 定義がこれ以上変更または後処理されないことを通知します。これにより、ファクトリは初期一時メタデータキャッシュをクリアした後、積極的に Bean 定義メタデータをキャッシュできます。
isConfigurationFrozen
public boolean isConfigurationFrozen()インターフェースからコピーされた説明:ConfigurableListableBeanFactory
このファクトリの Bean 定義がフリーズされているかどうか、つまり、これ以上変更または後処理する必要がないかどうかを返します。- 次で指定:
- インターフェース
ConfigurableListableBeanFactory
のisConfigurationFrozen
- 戻り値:
true
(ファクトリの構成が凍結されていると見なされる場合)- 関連事項:
isBeanEligibleForMetadataCaching
ファクトリの構成が凍結としてマークされている場合、すべての Bean がメタデータキャッシングの対象と見なされます。- オーバーライド:
- クラス
AbstractBeanFactory
のisBeanEligibleForMetadataCaching
- パラメーター:
beanName
- Bean の名前- 戻り値:
- Bean のメタデータがこの時点ですでにキャッシュされている場合は、
true
- 関連事項:
obtainInstanceFromSupplier
@Nullable protected ObjectSE obtainInstanceFromSupplier(SupplierSE<?> supplier, StringSE beanName, RootBeanDefinition mbd) throws ExceptionSE クラスからコピーされた説明:AbstractAutowireCapableBeanFactory
指定されたサプライヤーから Bean インスタンスを取得します。- オーバーライド:
- クラス
AbstractAutowireCapableBeanFactory
のobtainInstanceFromSupplier
- パラメーター:
supplier
- 構成されたサプライヤーbeanName
- 対応する Bean 名mbd
- Bean の Bean 定義- 戻り値:
- Bean インスタンス (おそらく
null
) - 例外:
ExceptionSE
preInstantiateSingletons
インターフェースからコピーされた説明:ConfigurableListableBeanFactory
FactoryBeans
も考慮して、lazy-init 以外のすべてのシングルトンがインスタンス化されていることを確認してください。通常、必要に応じて、提供時のセットアップの最後に呼び出されます。- 次で指定:
- インターフェース
ConfigurableListableBeanFactory
のpreInstantiateSingletons
- 例外:
BeansException
- シングルトン Bean の 1 つを作成できなかった場合。注: これにより、一部の Bean がすでに初期化された状態でファクトリから提供された可能性があります。この場合、ConfigurableBeanFactory.destroySingletons()
を呼び出して完全にクリーンアップします。- 関連事項:
registerBeanDefinition
public void registerBeanDefinition(StringSE beanName, BeanDefinition beanDefinition) throws BeanDefinitionStoreException インターフェースからコピーされた説明:BeanDefinitionRegistry
このレジストリに新しい Bean 定義を登録します。RootBeanDefinition および ChildBeanDefinition をサポートする必要があります。- 次で指定:
- インターフェース
BeanDefinitionRegistry
のregisterBeanDefinition
- パラメーター:
beanName
- 登録する Bean インスタンスの名前beanDefinition
- 登録する Bean インスタンスの定義- 例外:
BeanDefinitionStoreException
- BeanDefinition が無効な場合BeanDefinitionOverrideException
- 指定された Bean 名の BeanDefinition がすでに存在し、それをオーバーライドすることが許可されていない場合- 関連事項:
removeBeanDefinition
インターフェースからコピーされた説明:BeanDefinitionRegistry
指定された名前の BeanDefinition を削除します。- 次で指定:
- インターフェース
BeanDefinitionRegistry
のremoveBeanDefinition
- パラメーター:
beanName
- 登録する Bean インスタンスの名前- 例外:
NoSuchBeanDefinitionException
- そのような Bean 定義がない場合
resetBeanDefinition
指定された Bean のすべての Bean 定義キャッシュを、そこから派生した Bean のキャッシュを含めてリセットします。既存の Bean 定義が置換または削除された後に呼び出され、指定された Bean および親として指定された Bean を持つすべての Bean 定義で
clearMergedBeanDefinition(java.lang.String)
、destroySingleton(java.lang.String)
、MergedBeanDefinitionPostProcessor.resetBeanDefinition(java.lang.String)
をトリガーします。- パラメーター:
beanName
- リセットする Bean の名前- 関連事項:
isBeanDefinitionOverridable
Bean 定義のオーバーライドが通常許可されている場合、この実装はtrue
を返します。- 次で指定:
- インターフェース
BeanDefinitionRegistry
のisBeanDefinitionOverridable
- パラメーター:
beanName
- チェックする名前- 戻り値:
- 指定された Bean 名の定義がオーバーライド可能かどうか
- 関連事項:
allowAliasOverriding
protected boolean allowAliasOverriding()Bean 定義のオーバーライドが許可されている場合にのみ、エイリアスのオーバーライドを許可します。- オーバーライド:
- クラス
SimpleAliasRegistry
のallowAliasOverriding
- 関連事項:
checkForAliasCircle
また、同じ名前の Bean 定義をオーバーライドするエイリアスをチェックします。- オーバーライド:
- クラス
SimpleAliasRegistry
のcheckForAliasCircle
- パラメーター:
name
- 候補者名alias
- 候補エイリアス- 関連事項:
registerSingleton
public void registerSingleton(StringSE beanName, ObjectSE singletonObject) throws IllegalStateExceptionSE インターフェースからコピーされた説明:SingletonBeanRegistry
指定された既存のオブジェクトを、指定された Bean 名で、Bean レジストリにシングルトンとして登録します。与えられたインスタンスは完全に初期化されることになっています。レジストリは初期化コールバックを実行しません(特に、InitializingBean の
afterPropertiesSet
メソッドを呼び出しません)。指定されたインスタンスは、(DisposableBean のdestroy
メソッドのような)破棄コールバックも受け取りません。完全な BeanFactory 内で実行する場合: Bean が初期化および / または破棄コールバックを受け取ることになっている場合、既存のインスタンスの代わりに Bean 定義を登録します。
通常、レジストリ設定中に呼び出されますが、シングルトンのランタイム登録にも使用できます。結果として、レジストリ実装はシングルトンアクセスを同期する必要があります。BeanFactory のシングルトンの遅延初期化をサポートする場合、これを行う必要があります。
- 次で指定:
- インターフェース
SingletonBeanRegistry
のregisterSingleton
- オーバーライド:
- クラス
DefaultSingletonBeanRegistry
のregisterSingleton
- パラメーター:
beanName
- Bean の名前singletonObject
- 既存のシングルトンオブジェクト- 例外:
IllegalStateExceptionSE
- 関連事項:
destroySingletons
public void destroySingletons()インターフェースからコピーされた説明:ConfigurableBeanFactory
使い捨てとして登録されているインナー Bean を含め、このファクトリ内のすべてのシングルトン Bean を破棄します。ファクトリのシャットダウン時に呼び出されます。破棄中に発生した例外は、このメソッドの呼び出し元に伝播するのではなく、キャッチしてログに記録する必要があります。
- 次で指定:
- インターフェース
ConfigurableBeanFactory
のdestroySingletons
- オーバーライド:
- クラス
DefaultSingletonBeanRegistry
のdestroySingletons
destroySingleton
クラスからコピーされた説明:DefaultSingletonBeanRegistry
与えられた Bean を破棄します。対応する使い捨て Bean インスタンスが見つかった場合は、destroyBean
に委譲します。- オーバーライド:
- クラス
DefaultSingletonBeanRegistry
のdestroySingleton
- パラメーター:
beanName
- Bean の名前- 関連事項:
resolveNamedBean
インターフェースからコピーされた説明:AutowireCapableBeanFactory
指定されたオブジェクト型(存在する場合)に一意に一致する Bean インスタンスを、その Bean 名を含めて解決します。これは事実上、一致するインスタンスの Bean 名を保持する
BeanFactory.getBean(Class)
のバリアントです。- 次で指定:
- インターフェース
AutowireCapableBeanFactory
のresolveNamedBean
- パラメーター:
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 に対する指定された依存関係を解決します。- 次で指定:
- インターフェース
AutowireCapableBeanFactory
のresolveDependency
- パラメーター:
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 findAutowireCandidates
protected MapSE<StringSE,ObjectSE> findAutowireCandidates(@Nullable StringSE beanName, ClassSE<?> requiredType, DependencyDescriptor descriptor) 必要な型に一致する Bean インスタンスを見つけます。指定された Bean のオートワイヤー中に呼び出されます。- パラメーター:
beanName
- 接続しようとしている Bean の名前requiredType
- 検索する Bean の実際の型 (配列コンポーネント型またはコレクションエレメント型の場合があります)descriptor
- 解決する依存関係の記述子- 戻り値:
- 必要な型に一致する候補名と候補インスタンスのマップ (非
null
) - 例外:
BeansException
- エラーの場合- 関連事項:
AbstractAutowireCapableBeanFactory.autowireByType(java.lang.String, org.springframework.beans.factory.support.AbstractBeanDefinition, org.springframework.beans.BeanWrapper, org.springframework.beans.MutablePropertyValues)
AbstractAutowireCapableBeanFactory.autowireConstructor(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.reflect.Constructor<?>[], java.lang.Object[])
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
指定された Bean 名の Bean 定義がプライマリ Bean としてマークされているかどうかを返します。- パラメーター:
beanName
- Bean の名前beanInstance
- 対応する Bean インスタンス (null
にすることができます)- 戻り値:
- 指定された Bean がプライマリとして適格かどうか
getPriority
jakarta.annotation.Priority
アノテーションによって、指定された Bean インスタンスに割り当てられた優先順位を返します。デフォルトの実装は、指定された
dependency comparator
に委譲し、Spring の一般的なOrderComparator
(通常はAnnotationAwareOrderComparator
)の拡張であるかどうか、method
をチェックします。そのようなコンパレータが存在しない場合、この実装はnull
を返します。- パラメーター:
beanInstance
- チェックする Bean インスタンス (null
にすることができます)- 戻り値:
- 何も設定されていない場合は、その Bean または
null
に割り当てられた優先順位
matchesBeanName
指定された候補名が Bean 名またはこの Bean 定義に保管されている別名と一致するかどうかを判別します。toString
writeReplace