写点什么

springboot 启动流程之加载入口类

用户头像
梦倚栏杆
关注
发布于: 2021 年 06 月 14 日

入口:

入口几部我们简单看一下截图:

//SpringApplication  line 313prepareContext(context, environment, listeners, applicationArguments,printedBanner);
复制代码

//springApplication line 366

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

BeanDefinitionLoader.load()

BeanDefinitionLoader.load(Object source)


// registry=AnnotationConfigEmbeddedWebApplicationContext.classthis.annotatedReader = new AnnotatedBeanDefinitionReader(registry);
复制代码


AnnotatedBeanDefinitionReader.register(Class<?> annotatedClasses);


详细过程分析:

  1. 创建 beanDefinition

  2. 获取对应的 scopeMetadata==>scopename + scopeProxy

    获取 beanName(简称)

  3. 处理通用注解属性值:lazy,Primary,DependsOn,Role,Description

  4. 创建 BeanDefinitionHolder

  5. 如果是代理模式, 创建代理 bean,注入到 beanFactory

  6. 将 BeanDefinitionHolder 注入到 beanFactory


发布于: 2021 年 06 月 14 日阅读数: 16
用户头像

梦倚栏杆

关注

还未添加个人签名 2018.04.22 加入

还未添加个人简介

评论

发布
暂无评论
springboot启动流程之加载入口类