spring boot启动流程总结

首先程序启动时都会有一个main函数作为入口,spring boot也有一个main函数作为入口,就是启动类。

spring boot项目进行启动的时候会进行进入到启动类中的main函数里边执行springapplication.run()来初始化上下文,然后加载启动类上边的注解,主要是@springbootapplication注解,这个注解是一个符合注解主要包含@springbootconfiguration、@enableautoconfiguration、@componentscan这三个注解,其中@springbootconfiguration注解是表示这个方法是一个配置类,@componentscan表示这个要扫描的包路径,@enableautoconfiguration这个注解是springboot自启动最重要的注解,是自动配置的总开关,这个注解会通过@import引入一个AutoConfigurationImportSelector类文件,这个类文件会去加载配置类清单,在2.7版本之后配置类清单存放在AutoConfiguration.imports文件中,2.7之前存放在spring.factories文件之中。同时也可以通过@conditional进行过滤和去重。完成之后会将满足条件的自动配置类注册核心bean到spring容器之中。最后通过@configurationproperties绑定配置文件application.yml中的属性,覆盖默认值。

相关推荐
大树91几秒前
把 Java 项目从手动 SCP 升级到 Gitee Go 自动部署:一份踩坑实录
java·golang·gitee
用户4671795783613 分钟前
【Java全栈教程】第18课:异常处理
java
她说..14 分钟前
MySQL 与 Java 的 JSON 数据处理
java·mysql·json·springboot
咖啡八杯20 分钟前
实体基类设计:BaseEntity 公共字段抽取与 TreeEntity 树形继承
java·架构·代码规范
她的男孩24 分钟前
AI 写完 100 万行代码没人 Review,我做了一件事:把 AI 写的代码管起来了
java·人工智能·程序员
Gl�ria25 分钟前
Linux 查看日志常用命令
java·linux·servlet
大模型丫丫39 分钟前
LangGraph + MCP(Model Context Protocol)完整讲解
java·开发语言·数据库
lemon_sjdk44 分钟前
JavaFX 源码深度剖析:揭开 StringBinding 的神秘面纱
java·javafx·源码解析·绑定框架
爱折腾的编程老炮1 小时前
潮玩小程序订单模型-一张表装下所有玩法
spring boot·小程序·uni-app
砚底藏山河1 小时前
拉数管道设计:从一次性脚本到可重启的数据流水线(魔码量化实战 #01)
java·数据库·python·金融·maven