Java-SpringBoot的启动流程(八股)

简要回答:

SpringBoot启动主要从main方法开始,调用SpringApplication.run()。

先初始化SpringApplication,这时候会判断应用类型是Web还是普通环境,确定用哪个应用上下文类。

接着准备应用环境,读取配置文件。(读取配置文件比如application.properties,还有命令行参数这些配置信息)。(命令行参数是什么:格式是 --配置项名=值 例如:--server.port=8088 --spring.profiles.active=prod 优先级比配置文件的还高)。

然后创建应用上下文,根据前面判断的环境类型选对应的上下文。之后刷新上下文,这一步会扫描项目里的Bean并注册到容器,同时处理@EEnableAutoConfiguration注解,加载META-INF/spring.factories里的自动配置类,根据条件注解决定那些配置生效。

最后启动嵌入式服务器,这样应用启动完成可以对外提供服务了。

相关推荐
Wx-bishekaifayuan1 小时前
springboot社区扶贫救助管理系统13300-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
user_admin_god2 小时前
第 10 篇:拼上下文与生成——预算、边界与防幻觉
java·人工智能·spring boot·语言模型
用户3126874877202 小时前
GC 算法与垃圾收集器演进:从 Serial 到 ZGC
java
天天被压力3 小时前
【别再到处找免费股票数据API了:官方204个接口,32篇一次讲透 #02】涨停跌停与特色股池:5类股池接口一次拉全
java·人工智能·python
Wx-bishekaifayuan3 小时前
springboot甘肃特产服务平台50301-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
斯维赤3 小时前
从 @Tool 到 Agent 流水线:LangChain4j 进阶教学,一个库打全套
java·后端
FYKJ_20103 小时前
springboot雅集社区养老管理系统04456-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
知守观3 小时前
Spring Boot 2.1.0 停维护5年,10个依赖4个有CVE——2022年老项目的安全体检报告
spring boot·后端
FYKJ_20103 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
javascript·vue.js·spring boot·mysql·typescript·spark·express
SimonKing3 小时前
SSE项目`nexus-sse`持续优化,不一样的视觉效果
java·后端·程序员