【Spring】—— IoC 之加载 Bean:分析各 scope 的 Bean 创建
在 Spring 中存在着不同的 scope,默认是 singleton ,还有 prototype、request 等等其他的 scope
在 Spring 中存在着不同的 scope,默认是 singleton ,还有 prototype、request 等等其他的 scope
如果从单例缓存中没有获取到单例 Bean 对象,则说明两种两种情况。
从这篇博客开始我们开始加载 Bean 的第一个步骤,从缓存中获取 Bean 。
Spring IoC 容器所起的作用如上图所示,它会以某种方式加载 Configuration Metadata,将其解析注册到容器内部,然后回根据这些信息绑定整个系统的对象,最终组装成一个可用的基于轻量级容器的应用系统。
前面 13 篇博文从源码层次,分析了 IoC BeanDefinition 装载的整个过程,这篇就这些内容做一个总结将其连贯起来。
DefaultBeanDefinitionDocumentReader 的 #processBeanDefinition() 方法,完成 Bean 标签解析的核心工作。
在分析自定义标签的解析之前,我们有必要了解自定义标签的使用。
前面四篇文章都是分析 Bean 默认标签的解析过程,包括 基本属性、六个子元素(meta、lookup-method、replaced-method、constructor-arg、property、qualifier),涉及内容较多,拆分成了四篇文章,导致我们已经忘记从哪里出发的了。
这篇博客,我们来分析 constructor-arg、property、<qualifier> 三个子元素。
在上篇博客【 Spring】—— IoC 之解析 bean 标签:BeanDefinition 中,已经完成了对 <bean> 标签属性的解析工作。这篇博文开始,分析子元素的解析。