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

相关推荐
Rainmicro4 分钟前
【无标题】
java·数据库·算法
驭渊的小故事14 分钟前
Spring AOP 入门:从 AOP 概念到第一个耗时统计切面
java·后端·spring
天天被压力32 分钟前
【A股分钟级高频数据完全手册 #09】A股历史分时交易数据接口:普通分时怎么批量下
java·人工智能·python
头发还在的女程序员37 分钟前
基于 Spring Boot + Vue 3 + uni-app 的灵活用工系统:四端架构与业务流程设计
vue.js·spring boot·uni-app·灵活用工·灵工系统
天天被压力40 分钟前
【A股分钟级高频数据完全手册 #10】股票实时行情数据接口Python:公开源实时交易取数
java·人工智能·python
apcipot_rain1 小时前
C++转Java日记(05)
java·开发语言·c++
CoderYanger6 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第二弹)
java·数据库·spring boot·spring·面试·java-ee·mybatis
CQU_JIAKE9 小时前
11.7[高体】
java·后端·spring
apcipot_rain10 小时前
C++转Java日记(04)
java·开发语言·c++
特立独行的猫A10 小时前
我给女儿写了个打字练习:一边敲键盘,一边把小学英语单词记牢
java·后端·python