ConfigurableListableBeanFactory继承了ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory。在ConfigurableBeanFactory的基础上,它还提供了分析和修改bean定义以及预实例化单例的工具segmentfault
忽略自动装配缓存
// 在装配的时候忽略指定的依赖类型 void ignoreDependencyType(Class<?> type); // 在装配的时候忽略指定的接口 void ignoreDependencyInterface(Class<?> ifc);
依赖工具
// 注册可解析的依赖 void registerResolvableDependency(Class<?> dependencyType, @Nullable Object autowiredValue); // 指定的bean是否能够做为自动选派的候选, boolean isAutowireCandidate(String beanName, DependencyDescriptor descriptor) throws NoSuchBeanDefinitionException;
BeanDefinitionspa
// 根据bean名称获取BeanDefinition BeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException; / /获取bean名称的Iterator Iterator<String> getBeanNamesIterator()
bean的元数据缓存code
void clearMetadataCache();
冻结bean的配置blog
// 冻结全部bean定义,代表注册的bean定义将再也不修改或后期处理。 void freezeConfiguration(); // bean的定义是否被冻结 boolean isConfigurationFrozen();
lazy-init相关继承
// 非延迟加载的bean都实例化 void preInstantiateSingletons() throws BeansException;