美文网首页
Spring - BeanFactory 之 FactoryBe

Spring - BeanFactory 之 FactoryBe

作者: 剑戈2 | 来源:发表于2019-02-21 13:24 被阅读0次

FactoryBeanRegistrySupport


FactoryBeanRegistrySupport提供了一些FactoryBean的相关方法供BeanFactory内部使用。

管理FactoryBean生产的单例

FactoryBeanRegistrySupport的成员变量:

private final Map<String, Object> factoryBeanObjectCache = new ConcurrentHashMap<>(16);

factoryBeanObjectCache是用于存放FactoryBean单例的Map。

FactoryBean和FactoryBean生成的Bean的辨析

FactoryBean FactoryBean生成的Bean
种类 FactoryBean是一个普通Bean,它和普通的Bean总体上没有区别 FactoryBean生成的Bean是一种特殊的Bean
创建途径 通过CreateBean方法创建 通过FactoryBean的getObject方法
是否是单例 配置决定 由FactoryBean的isSingleton方法决定的
单例存放点 DefaultSingletonBeanRegistry的SingletonObjects FactoryBeanRegistrySupport的factoryBeanObjectCache
创建方式 可以像普通Bean进行依赖注入 因为是通过getObject方法生成,无法直接注入依赖
获取方法 需要在BeanName前加 '&' 直接用BeanName

相关文章

网友评论

      本文标题:Spring - BeanFactory 之 FactoryBe

      本文链接:https://www.haomeiwen.com/subject/qmeryqtx.html