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中的属性,覆盖默认值。

相关推荐
码农进化录1 小时前
Java 程序员的 AI 进化论 | AI 帮我做 MySQL 表结构升级,三天活变半天
java·spring boot·openai
三言老师1 小时前
K8s集群运行时异常趋势分析预警实操
java·开发语言·kubernetes
吃饱了得干活1 小时前
从经典的三层架构到DDD:一次对“业务逻辑层”的解剖与重构
java·后端·架构
SL_staff1 小时前
中小离散制造如何用工艺路线模板解决‘人走流程丢’——JVS-APS 实践解析
java·设计模式·全栈
我命由我123452 小时前
Android 开发问题:使用 AndroidTreeView 时,自定义视图无法撑满父容器
android·java·java-ee·kotlin·android studio·android-studio·android runtime
冷雨夜中漫步2 小时前
DeepSeek Harness:一切皆插件的 AI Agent 框架深度解析
java·人工智能·ai·开源·github
lhldsg2 小时前
社区健身系统开发实战:从需求分析到落地部署全流程指南
java·开发语言·小程序·需求分析
覆东流2 小时前
4.Java运算符与表达式
java·开发语言·后端
JacksonMx3 小时前
ContentCachingRequestWrapper 实战:解决请求体“只能读一次”的官方方案
java·spring boot·spring