写在最前面:
SpringBoot是目前企业里最流行的框架之一,SpringBoot的部署方式多数采用jar包形式。通常,我们使用java -jar便可以直接运行jar文件。普通的jar只包含当前 jar的信息,当内部依赖第三方jar时,直接运行则会报错,但是,SpringBoot所打成的jar包,却可以直接部署运行。今日,小白不黑带大家来探讨一下---SpringBoot的启动原理。
通过本篇文章,各位看官可以了解到:
SpringBoot的启动过程
SpringBoot的FatJar技术
类加载器的使用
话不多说,开工!
大家都知道,SpringBoot的入口是启动类的main方法,这是正确的,但也不是完全正确。我们可以简单了解一下,看看run方法里面做了什么事情。废话不多说,先上时序图
再来一张源码图!
从时序图中可以看到,可以通过实现ApplicationRunner/CommandLineRunner
方法就可以在SpringBoot启动完成后,做一些自定义的事情
看到这里,估计大家都会对SpringBoot启动流程有一个大概的认识。对于更深入的了解,有兴趣的小伙伴可以直接看SpringBoot启动类源码。
好的,收工,下班!