侧边栏壁纸
博主头像
惊羽博主等级

hi ,我是惊羽,前生物学逃兵,现系统工程沉迷者 . 贝壳签约工程师 , 曾被雇佣为 联拓数科 · 支付研发工程师 、京东 · 京东数科 · 研发工程师、中国移动 · 雄安产业研究院 · 业务中台技术负责人 .

  • 累计撰写 101 篇文章
  • 累计创建 14 个标签
  • 累计收到 14 条评论

spring(3) - springboot启动过程

惊羽
2021-06-21 / 0 评论 / 0 点赞 / 131 阅读 / 1,385 字
温馨提示:
本文为原创作品,感谢您喜欢~

1. 整体流程如图

springboot启动过程.png

2. 大致过程

2.1 jre的启动

java -jar app.jar

当在服务器执行该命令的时候 : 服务器去环境变量找到 "java" 对应的执行文件路径 (例如 windows中的 java.exe) --> 执行java.exe --> 按照启动参数,调用JNI 申请内存,初始化JVM ,调用类的加载器进行类的预加载(检查,校验,加载等) 将jdk自带的核心类库加载到方法区 --> 找到主类 --> 执行 main方法

2.2 springboot的启动

SpringApplication.run(App.class, args);

2.3  执行SpringApplication构造方法

 (new SpringApplication(primarySources))

构造方法

image.png````

主要做了
image.png

// 3. 获取初始化工厂集合的时候,扫描并初始化所有的自动装配工厂集合;
// 4. 获取初始化工厂监听集合的时候,为自动装配工厂集合初始化了监听器集合;

2.4  执行SpringApplication构造方法

image.png

2.4.1 在 // 6. 刷新容器

image.png

  • 启动了web引擎
    默认Tomcat 详情参读 spring(1) - springboot内置Tomcat启动过程;
  • 准备benFactory --> // 1. 准备BeanFactiry
  • 初始化bean --> // 2. 通过初始化好的beanFactory进行bean的初始化,并注册到容器
0
广告 广告

评论区