public interface ConfigurableBeanFactory extends HierarchicalBeanFactory,
SingletonBeanRegistry { String SCOPE_SINGLETON = "singleton" ; // 单例 String SCOPE_PROTOTYPE = "prototype" ; // 原型 void setParentBeanFactory ( BeanFactory parentBeanFactory ) throws IllegalStateException ; void setBeanClassLoader ( ClassLoader beanClassLoader ); Version:0.9 StartHTML:0000000105 EndHTML:0000044267 StartFragment:0000000141 EndFragment:0000044227 ClassLoader getBeanClassLoader (); void setTempClassLoader ( ClassLoader tempClassLoader ); ClassLoader getTempClassLoader (); void setCacheBeanmetadata ( boolean cacheBeanmetadata ); boolean isCacheBeanmetadata (); // 是否缓存元数据 void setBeanexpressionResolver ( BeanexpressionResolver resolver ); BeanexpressionResolver getBeanexpressionResolver (); void setConversionService ( ConversionService conversionService ); ConversionService getConversionService (); void addPropertyEditorRegistrar ( PropertyEditorRegistrar registrar ); void registerCustomEditor ( Class > requiredType , Class extends PropertyEditor > propertyEditorClass ); void copyRegisteredEditorsTo ( PropertyEditorRegistry registry ); void setTypeConverter ( TypeConverter typeConverter ); TypeConverter getTypeConverter (); void addEmbeddedValueResolver ( StringValueResolver valueResolver ); String resolveEmbeddedValue ( String value ); // 分解指定的嵌入式的值 void addBeanPostProcessor ( BeanPostProcessor beanPostProcessor ); // 设置一 个 Bean 后处理器 int getBeanPostProcessorCount (); // 返回 Bean 后处理器的数量 void registerScope ( String scopeName , Scope scope ); // 注册范围 String [] getRegisteredScopeNames (); // 返回注册的范围名 Scope getRegisteredScope ( String scopeName ); // 返回指定的范围 AccessControlContext getAccessControlContext (); // 返回本工厂的一个安全访问上 下文 void copyConfigurationFrom ( ConfigurableBeanFactory otherFactory ); // 从其 他的工厂复制相关的所有配置 void registerAlias ( String beanName , String alias ) throws BeanDefinitionStoreException ; void resolveAliases ( StringValueResolver valueResolver ); // 根据指定的 StringValueResolver 移除所有的别名 BeanDefinition getMergedBeanDefinition ( String beanName ) throws NoSuchBeanDefinitionException ; boolean isFactoryBean ( String name ) throws NoSuchBeanDefinitionException ; // 判断指定 Bean 是否为一个工厂 Bean void setCurrentlyInCreation ( String beanName , boolean inCreation ); // 设置 一个 Bean 是否正在创建 boolean isCurrentlyInCreation ( String beanName ); // 返回指定 Bean 是否已经成功 创建 void registerDependentBean ( String beanName , String dependentBeanName ); // 注册一个依赖于指定 bean 的 Bean String [] getDependentBeans ( String beanName ); // 返回依赖于指定 Bean 的所欲 Bean 名 String [] getDependenciesForBean ( String beanName ); // 返回指定 Bean 依赖的所有 Bean 名 void destroyBean ( String beanName , Object beanInstance ); // 销毁指定的 Bean void destroyScopedBean ( String beanName ); // 销毁指定的范围 Bean void destroySingletons (); // 销毁所有的单例类 }


