通过源码断点调试后,对整个SpringBoot的启动流程有了一个大概的了解,画出自己理解的流程图,如下
SpringBoot确实为我们提供了很多便利,比如官方说的:
1、Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files) //直接嵌入Tomcat、Jetty或Undertow
2、Provide opinionated 'starter' dependencies to simplify your build configuration //提供“starter”依赖项以简化构建配置
3、Automatically configure Spring and 3rd party libraries whenever possible //尽可能自动配置Spring和第三方库
4、Provide production-ready features such as metrics, health checks, and externalized configuration //提供生产就绪功能,如度量、运行状况检查和外部化配置
5、Absolutely no code generation and no requirement for XML configuration //不需要XML配置
这里初步感受到了1、3、5的特点和它实现的基本流程,至于2、4描述的特点, 则放在后续进一步学习。加油,奥利给!