Spring核心框架 - Bean存放在哪里?

9
我是一名初级的Java开发人员,正在阅读来自spring.io的Spring文档。我看到每一个在Spring用于解决依赖关系的*.xml文件中注册的Bean都是使用<bean> </bean>标签进行声明。
我的问题是:在xml文件被读取并实例化(创建)出Bean之后,这些Bean会存储在哪种数据结构中?
谢谢。

数据结构是什么意思?您是想了解Spring的内部还是访问bean的方法? - geoand
它在Bean工厂中。 - user3145373 ツ
这只是一种好奇心! - Ciprian Constantin Hurmuzache
2个回答

14

虽然如果你刚开始学习Spring,不需要过于担心内部结构,但为了更充分的了解,在几乎所有情况下底层类是DefaultSingletonBeanRegistry,通过查看源代码这里可知它维护了一个单例对象的ConcurrentHashMap。此外还有其他类似的映射对象用于存储其他信息。

private final Map<String, Object> singletonObjects = new ConcurrentHashMap<String, Object>(64);

谢谢@Shailendra!这正是我在寻找的答案。 - Ciprian Constantin Hurmuzache

0
你可以将其视为一个Map,其中键是bean id,值是实际对象。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接