ConfigurableListableBeanFactory

ConfigurableListableBeanFactory继承了ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory。在ConfigurableBeanFactory的基础上,它还提供了分析和修改bean定义以及预实例化单例的工具

类结构

方法解析

忽略自动装配

// 在装配的时候忽略指定的依赖类型void ignoreDependencyType(Class<?> type);// 在装配的时候忽略指定的接口void ignoreDependencyInterface(Class<?> ifc);

依赖

// 注册可解析的依赖void registerResolvableDependency(Class<?> dependencyType, @Nullable Object autowiredValue);// 指定的bean是否可以作为自动选派的候选,boolean isAutowireCandidate(String beanName, DependencyDescriptor descriptor)            throws NoSuchBeanDefinitionException;

BeanDefinition

// 根据bean名称获取BeanDefinitionBeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException;/ /获取bean名称的IteratorIterator<String> getBeanNamesIterator()

bean的元数据缓存

void clearMetadataCache();

冻结bean的配置

// 冻结所有bean定义,表明注册的bean定义将不再修改或后期处理。void freezeConfiguration();// bean的定义是否被冻结boolean isConfigurationFrozen();

lazy-init相关

// 非延迟加载的bean都实例化void preInstantiateSingletons() throws BeansException;