springboot 启动流程之加载入口类
入口:
入口几部我们简单看一下截图:
复制代码
//springApplication line 366

//SpringApplication.load(context,[{Application.class}])

BeanDefinitionLoader.load()

BeanDefinitionLoader.load(Object source)

复制代码

AnnotatedBeanDefinitionReader.register(Class<?> annotatedClasses);


详细过程分析:

创建 beanDefinition
获取对应的 scopeMetadata==>scopename + scopeProxy
获取 beanName(简称)
处理通用注解属性值:lazy,Primary,DependsOn,Role,Description
创建 BeanDefinitionHolder
如果是代理模式, 创建代理 bean,注入到 beanFactory
将 BeanDefinitionHolder 注入到 beanFactory
版权声明: 本文为 InfoQ 作者【梦倚栏杆】的原创文章。
原文链接:【http://xie.infoq.cn/article/cf0168d74bb55065bd7d31410】。文章转载请联系作者。
评论