インターフェース ConfigurableListableBeanFactory
- すべてのスーパーインターフェース:
AutowireCapableBeanFactory
、BeanFactory
、ConfigurableBeanFactory
、HierarchicalBeanFactory
、ListableBeanFactory
、SingletonBeanRegistry
- すべての既知の実装クラス:
DefaultListableBeanFactory
ConfigurableBeanFactory
に加えて、Bean 定義を分析および変更し、シングルトンを事前にインスタンス化する機能を提供します。BeanFactory
のこのサブインターフェースは、通常のアプリケーションコードで使用するためのものではありません。通常の使用例では、BeanFactory
または ListableBeanFactory
を使用してください。このインターフェースは、Bean ファクトリ構成メソッドへのアクセスが必要な場合でも、フレームワーク内部のプラグアンドプレイを可能にするためのものです。
- 導入:
- 03.11.2003
- 作成者:
- Juergen Hoeller
- 関連事項:
フィールドサマリー
インターフェース 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
方法の概要
修飾子と型メソッド説明void
マージされた Bean 定義キャッシュをクリアして、完全なメタデータキャッシュにまだ適格と見なされていない Bean のエントリを削除します。void
すべての Bean 定義をフリーズし、登録された Bean 定義がこれ以上変更または後処理されないことを通知します。getBeanDefinition
(StringSE beanName) 指定された Bean の登録済み BeanDefinition を返し、そのプロパティ値とコンストラクター引数値(Bean ファクトリの後処理中に変更できます)へのアクセスを許可します。このファクトリが管理するすべての Bean 名の統一ビューを返します。void
ignoreDependencyInterface
(ClassSE<?> ifc) オートワイヤーの指定された依存関係インターフェースを無視します。void
ignoreDependencyType
(ClassSE<?> type) オートワイヤーの指定された依存関係型(たとえば、String)を無視します。boolean
isAutowireCandidate
(StringSE beanName, DependencyDescriptor descriptor) 指定された Bean が、一致する型の依存関係を宣言する他の Bean に注入されるオートワイヤー候補として適格であるかどうかを判別します。boolean
このファクトリの Bean 定義が凍結されているかどうか、つまりvoid
FactoryBeans
も考慮して、lazy-init 以外のすべてのシングルトンがインスタンス化されていることを確認してください。void
registerResolvableDependency
(ClassSE<?> dependencyType, ObjectSE autowiredValue) 対応するオートワイヤーされた値で特別な依存関係型を登録します。インターフェース org.springframework.beans.factory.config.AutowireCapableBeanFactory から継承されたメソッド
applyBeanPostProcessorsAfterInitialization, applyBeanPostProcessorsBeforeInitialization, applyBeanPropertyValues, autowire, autowireBean, autowireBeanProperties, configureBean, createBean, createBean, destroyBean, initializeBean, resolveBeanByName, resolveDependency, resolveDependency, resolveNamedBean
インターフェース org.springframework.beans.factory.BeanFactory から継承されたメソッド
containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
インターフェース org.springframework.beans.factory.config.ConfigurableBeanFactory から継承されたメソッド
addBeanPostProcessor, addEmbeddedValueResolver, addPropertyEditorRegistrar, copyConfigurationFrom, copyRegisteredEditorsTo, destroyBean, destroyScopedBean, destroySingletons, getApplicationStartup, getBeanClassLoader, getBeanExpressionResolver, getBeanPostProcessorCount, getBootstrapExecutor, getConversionService, getDependenciesForBean, getDependentBeans, getMergedBeanDefinition, getRegisteredScope, getRegisteredScopeNames, getTempClassLoader, getTypeConverter, hasEmbeddedValueResolver, isCacheBeanMetadata, isCurrentlyInCreation, isFactoryBean, registerAlias, registerCustomEditor, registerDependentBean, registerScope, resolveAliases, resolveEmbeddedValue, setApplicationStartup, setBeanClassLoader, setBeanExpressionResolver, setBootstrapExecutor, setCacheBeanMetadata, setConversionService, setCurrentlyInCreation, setParentBeanFactory, setTempClassLoader, setTypeConverter
インターフェース org.springframework.beans.factory.HierarchicalBeanFactory から継承されたメソッド
containsLocalBean, getParentBeanFactory
インターフェース org.springframework.beans.factory.ListableBeanFactory から継承されたメソッド
containsBeanDefinition, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation
インターフェース org.springframework.beans.factory.config.SingletonBeanRegistry から継承されたメソッド
addSingletonCallback, containsSingleton, getSingleton, getSingletonCount, getSingletonMutex, getSingletonNames, registerSingleton
メソッドの詳細
ignoreDependencyType
オートワイヤーの指定された依存関係型(たとえば、String)を無視します。デフォルトはなしです。- パラメーター:
type
- 無視する依存関係型
ignoreDependencyInterface
オートワイヤーの指定された依存関係インターフェースを無視します。通常、これは、BeanFactory から BeanFactoryAware または ApplicationContext から ApplicationContextAware など、他の方法で解決される依存関係を登録するために、アプリケーションコンテキストによって使用されます。
デフォルトでは、BeanFactoryAware インターフェースのみが無視されます。さらに無視する型については、型ごとにこのメソッドを呼び出します。
- パラメーター:
ifc
- 無視する依存関係インターフェース- 関連事項:
registerResolvableDependency
対応するオートワイヤーされた値で特別な依存関係型を登録します。これは、自動書き込み可能であるはずであるが、ファクトリ内で Bean として定義されていないファクトリ / コンテキスト参照を対象としています。たとえば、Bean が存在する ApplicationContext インスタンスに解決された型 ApplicationContext の依存関係などです。
メモ: プレーンな BeanFactory に登録されているそのようなデフォルトの型はありません。BeanFactory インターフェース自体についても同様です。
- パラメーター:
dependencyType
- 登録する依存関係の型。これは通常、BeanFactory などの基本インターフェースになりますが、指定された値が実際に拡張インターフェースを実装している限り、オートワイヤー依存関係として宣言されている場合はその拡張も解決されます (たとえば、ListableBeanFactory)。autowiredValue
- 対応するオートワイヤー値。これは、実際のターゲット値の遅延解決を可能にするObjectFactory
インターフェースの実装でもあります。
isAutowireCandidate
boolean isAutowireCandidate(StringSE beanName, DependencyDescriptor descriptor) throws NoSuchBeanDefinitionException 指定された Bean が、一致する型の依存関係を宣言する他の Bean に注入されるオートワイヤー候補として適格であるかどうかを判別します。このメソッドは、祖先ファクトリもチェックします。
- パラメーター:
beanName
- チェックする Bean の名前descriptor
- 解決する依存関係の記述子- 戻り値:
- Bean をオートワイヤー候補と見なすかどうか
- 例外:
NoSuchBeanDefinitionException
- 指定された名前の Bean がない場合
getBeanDefinition
指定された Bean の登録済み BeanDefinition を返し、そのプロパティ値とコンストラクター引数値(Bean ファクトリの後処理中に変更できます)へのアクセスを許可します。返された BeanDefinition オブジェクトはコピーではなく、ファクトリに登録された元の定義オブジェクトである必要があります。つまり、必要に応じて、より具体的な実装型にキャストできる必要があります。
注 : このメソッドは 、祖先ファクトリを考慮しません。このファクトリのローカル Bean 定義にアクセスすることのみを目的としています。
- パラメーター:
beanName
- Bean の名前- 戻り値:
- 登録済みの BeanDefinition
- 例外:
NoSuchBeanDefinitionException
- このファクトリで定義された特定の名前の Bean がない場合
getBeanNamesIterator
IteratorSE<StringSE> getBeanNamesIterator()このファクトリが管理するすべての Bean 名の統一ビューを返します。Bean 定義名と手動で登録されたシングルトンインスタンスの名前が含まれます。Bean 定義名が一貫して最初に来ます。これは、Bean 名の型 / アノテーション固有の検索が機能する方法に類似しています。
- 戻り値:
- Bean 名前ビューの複合イテレータ
- 導入:
- 4.1.2
- 関連事項:
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>)
clearMetadataCache
void clearMetadataCache()マージされた Bean 定義キャッシュをクリアして、完全なメタデータキャッシュにまだ適格と見なされていない Bean のエントリを削除します。通常、元の Bean 定義が変更された後、たとえば
BeanFactoryPostProcessor
を適用した後にトリガーされます。この時点ですでに作成されている Bean のメタデータは保持されることに注意してください。freezeConfiguration
void freezeConfiguration()すべての Bean 定義をフリーズし、登録された Bean 定義がこれ以上変更または後処理されないことを通知します。これにより、ファクトリは初期一時メタデータキャッシュをクリアした後、積極的に Bean 定義メタデータをキャッシュできます。
isConfigurationFrozen
boolean isConfigurationFrozen()このファクトリの Bean 定義がフリーズされているかどうか、つまり、これ以上変更または後処理する必要がないかどうかを返します。- 戻り値:
true
(ファクトリの構成が凍結されていると見なされる場合)- 関連事項:
preInstantiateSingletons
FactoryBeans
も考慮して、lazy-init 以外のすべてのシングルトンがインスタンス化されていることを確認してください。通常、必要に応じて、提供時のセットアップの最後に呼び出されます。- 例外:
BeansException
- シングルトン Bean の 1 つを作成できなかった場合。注: これにより、一部の Bean がすでに初期化された状態でファクトリから提供された可能性があります。この場合、ConfigurableBeanFactory.destroySingletons()
を呼び出して完全にクリーンアップします。- 関連事項: