Spring框架之IoC容器—ConfigurableBeanFactory接口
来源:互联网 发布:人力资源软件 免费 编辑:程序博客网 时间:2024/05/16 08:32
一、ConfigurableBeanFactory简介
ConfigurableBeanFactory继承HierarchicalBeanFactory接口。
ConfigurableBeanFactory接口扩展了BeanFactory功能,几乎所有的Bean工厂都会实现这个接口。
ConfigurableBeanFactory接口不推荐在常见的应用代码中使用(还是推荐使用BeanFactory和ListableBeanFactory),主要用于框架内部使用
以及对Bean工厂的配置进行特殊访问
。
二、ConfigurableBeanFactory源码详解
public interface ConfigurableBeanFactory extends HierarchicalBeanFactory, SingletonBeanRegistry { /** * Bean作用域的“单例”标识。 * 注意:自定义Bean作用域可通过registerScope方法添加。 */ String SCOPE_SINGLETON = "singleton"; /** * Bean作用域的“原型”标识。 * 注意:自定义Bean作用域可通过registerScope方法添加。 */ String SCOPE_PROTOTYPE = "prototype"; /** * 设置该Bean工厂的父容器 * 注意:父容器不可被改变:如果在工厂实例化是不可用时,只能从外部的构造函数进行设置。 */ void setParentBeanFactory(BeanFactory parentBeanFactory) throws IllegalStateException; /** * 设置用于加载Bean类的类加载器。 * 注意:这个类加载器只能用在Bean定义(不含有Bean类解析),Bean定义只指定类名,只有Bean工厂处理Bean定义才被解析。 */ void setBeanClassLoader(ClassLoader beanClassLoader); /** * 返回用于加载Bean类的类加载器 */ ClassLoader getBeanClassLoader(); /** * 指定一个用于类型匹配的临时类加载器。 * 默认为没有,简单使用标准的类加载器。 */ void setTempClassLoader(ClassLoader tempClassLoader); /** * 返回用于类型匹配的临时类加载器。 */ ClassLoader getTempClassLoader(); /** * 设置是否开启缓存Bean元数据,默认是开启的。 */ void setCacheBeanMetadata(boolean cacheBeanMetadata); /** * 返回是否开启缓存Bean元数据。 */ 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); /** * */ int getBeanPostProcessorCount(); /** * */ 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); /** * */ BeanDefinition getMergedBeanDefinition(String beanName) throws NoSuchBeanDefinitionException; /** * */ boolean isFactoryBean(String name) throws NoSuchBeanDefinitionException; /** * */ void setCurrentlyInCreation(String beanName, boolean inCreation); /** * */ boolean isCurrentlyInCreation(String beanName); /** * */ void registerDependentBean(String beanName, String dependentBeanName); /** * */ String[] getDependentBeans(String beanName); /** * */ String[] getDependenciesForBean(String beanName); /** * */ void destroyBean(String beanName, Object beanInstance); /** * */ void destroyScopedBean(String beanName); /** * */ void destroySingletons();}
阅读全文
0 0
- Spring框架之IoC容器—ConfigurableBeanFactory接口
- Spring框架之IoC容器—BeanFactory接口
- Spring框架之IoC容器—ListableBeanFactory接口
- Spring框架之IoC容器—HierarchicalBeanFactory接口
- Spring框架之IoC容器—AutowireCapableBeanFactory接口
- Spring框架之IoC容器—ConfigurableListableBeanFactory接口
- Spring框架之IoC容器—概览
- Spring 框架概述(三)之IoC 容器
- Spring框架IOC容器
- Spring之IoC容器
- spring之ioc容器
- Spring之IOC容器
- Spring源码解析之IoC容器主要接口设计
- Spring框架核心技术--IOC容器
- Spring框架的IOC容器
- 【09】框架学习—Spring的IoC容器之XML方式
- 【10】框架学习—Spring的IOC容器之注解方式与AOP技术
- Spring框架之IOC
- Linux驱动学习----搜罗前辈大作
- 面试中怎么吹spring才显得自己高端
- 将dwg文件怎么打开,教你最便捷
- Tkinter中复选菜单是否被选中的判断与设置
- deepClone, extend, 深克隆对象和Object.assign(ES6)
- Spring框架之IoC容器—ConfigurableBeanFactory接口
- JSON字符串 与 对象 、集合 之间的转换
- 牛的基因组学
- Redis常用方法实例
- first sight@echo
- Android Studio应用开发简介
- SQL之创建和修改表
- svn 常用操作命令
- init.rc不能通过adb shell修改的原因