Spring 是如何解析 bean 标签的?( 三 )

上面几个异常信息是不是有点眼熟?
这个 beanDefinitionMap 是个什么呢?它就是个 Map:
/** Map of bean definition objects, keyed by bean name. */private final Map<String, BeanDefinition> beanDefinitionMap = new ConcurrentHashMap<>(256);小结到这里,Spring 已经从我们定义的 application-ioc.xml 文件中读取和解析到了 <bean> 标签的信息,并将其转换为内部的数据结构 BeanDefinition,然后注册到了 IoC 容器(也就是 DefaultListableBeanFactory) 。
为了有个整体的把握,这里把主要流程梳理成了一个思维导图:

Spring 是如何解析 bean 标签的?

文章插图
 
其实前面几篇文章主要是第一个步骤,也就是「初始化 BeanFactory,注册 Bean 定义」,而且只是沿着一条主线走下来的,其它细节部分有兴趣的小伙伴可以自行研究 。
IoC 容器已经建立,而且 BeanDefinition 也放进去了,如何从容器拿到我们想要的对象呢?
欲知后事如何,且听下回分解~
作者:WriteOnRead
链接:https://juejin.cn/post/6930407553100677134

【Spring 是如何解析 bean 标签的?】


推荐阅读