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