public interface ConfigurableListableBeanFactory extends ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory
ConfigurableBeanFactory, it provides facilities to
 analyze and modify bean definitions, and to pre-instantiate singletons.
 This subinterface of BeanFactory
 is not meant to be used in normal application code: Stick to
 BeanFactory or
 ListableBeanFactory for typical
 use cases. This interface is just meant to allow for framework-internal
 plug'n'play even when needing access to bean factory configuration methods.
org.springframework.context.support.AbstractApplicationContext#getBeanFactory()AUTOWIRE_AUTODETECT, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AUTOWIRE_CONSTRUCTOR, AUTOWIRE_NO, ORIGINAL_INSTANCE_SUFFIXSCOPE_PROTOTYPE, SCOPE_SINGLETONFACTORY_BEAN_PREFIX| Modifier and Type | Method and Description | 
|---|---|
| void | clearMetadataCache()Clear the merged bean definition cache, removing entries for beans
 which are not considered eligible for full metadata caching yet. | 
| void | freezeConfiguration()Freeze all bean definitions, signalling that the registered bean definitions
 will not be modified or post-processed any further. | 
| BeanDefinition | getBeanDefinition(String beanName)Return the registered BeanDefinition for the specified bean, allowing access
 to its property values and constructor argument value (which can be
 modified during bean factory post-processing). | 
| Iterator<String> | getBeanNamesIterator()Return a unified view over all bean names managed by this factory. | 
| void | ignoreDependencyInterface(Class<?> ifc)Ignore the given dependency interface for autowiring. | 
| void | ignoreDependencyType(Class<?> type)Ignore the given dependency type for autowiring:
 for example, String. | 
| boolean | isAutowireCandidate(String beanName,
                   DependencyDescriptor descriptor)Determine whether the specified bean qualifies as an autowire candidate,
 to be injected into other beans which declare a dependency of matching type. | 
| boolean | isConfigurationFrozen()Return whether this factory's bean definitions are frozen,
 i.e. | 
| void | preInstantiateSingletons()Ensure that all non-lazy-init singletons are instantiated, also considering
  FactoryBeans. | 
| void | registerResolvableDependency(Class<?> dependencyType,
                            Object autowiredValue)Register a special dependency type with corresponding autowired value. | 
containsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotationapplyBeanPostProcessorsAfterInitialization, applyBeanPostProcessorsBeforeInitialization, applyBeanPropertyValues, autowire, autowireBean, autowireBeanProperties, configureBean, createBean, createBean, destroyBean, initializeBean, resolveBeanByName, resolveDependency, resolveDependency, resolveNamedBeanaddBeanPostProcessor, 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, setTypeConvertercontainsLocalBean, getParentBeanFactorycontainsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatchcontainsSingleton, getSingleton, getSingletonCount, getSingletonMutex, getSingletonNames, registerSingletonvoid ignoreDependencyType(Class<?> type)
type - the dependency type to ignorevoid ignoreDependencyInterface(Class<?> ifc)
This will typically be used by application contexts to register dependencies that are resolved in other ways, like BeanFactory through BeanFactoryAware or ApplicationContext through ApplicationContextAware.
By default, only the BeanFactoryAware interface is ignored. For further types to ignore, invoke this method for each type.
ifc - the dependency interface to ignoreBeanFactoryAware, 
org.springframework.context.ApplicationContextAwarevoid registerResolvableDependency(Class<?> dependencyType, @Nullable Object autowiredValue)
This is intended for factory/context references that are supposed to be autowirable but are not defined as beans in the factory: e.g. a dependency of type ApplicationContext resolved to the ApplicationContext instance that the bean is living in.
Note: There are no such default types registered in a plain BeanFactory, not even for the BeanFactory interface itself.
dependencyType - the dependency type to register. This will typically
 be a base interface such as BeanFactory, with extensions of it resolved
 as well if declared as an autowiring dependency (e.g. ListableBeanFactory),
 as long as the given value actually implements the extended interface.autowiredValue - the corresponding autowired value. This may also be an
 implementation of the ObjectFactory
 interface, which allows for lazy resolution of the actual target value.boolean isAutowireCandidate(String beanName, DependencyDescriptor descriptor) throws NoSuchBeanDefinitionException
This method checks ancestor factories as well.
beanName - the name of the bean to checkdescriptor - the descriptor of the dependency to resolveNoSuchBeanDefinitionException - if there is no bean with the given nameBeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException
A returned BeanDefinition object should not be a copy but the original definition object as registered in the factory. This means that it should be castable to a more specific implementation type, if necessary.
NOTE: This method does not consider ancestor factories. It is only meant for accessing local bean definitions of this factory.
beanName - the name of the beanNoSuchBeanDefinitionException - if there is no bean with the given name
 defined in this factoryIterator<String> getBeanNamesIterator()
Includes bean definition names as well as names of manually registered singleton instances, with bean definition names consistently coming first, analogous to how type/annotation specific retrieval of bean names works.
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()
Typically triggered after changes to the original bean definitions,
 e.g. after applying a BeanFactoryPostProcessor. Note that metadata
 for beans which have already been created at this point will be kept around.
void freezeConfiguration()
This allows the factory to aggressively cache bean definition metadata.
boolean isConfigurationFrozen()
true if the factory's configuration is considered frozenvoid preInstantiateSingletons()
                       throws BeansException
FactoryBeans.
 Typically invoked at the end of factory setup, if desired.BeansException - if one of the singleton beans could not be created.
 Note: This may have left the factory with some beans already initialized!
 Call ConfigurableBeanFactory.destroySingletons() for full cleanup in this case.ConfigurableBeanFactory.destroySingletons()