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

相关推荐
考虑考虑6 小时前
JDK26中的Map.ofLazy
java·后端·java ee
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 03 章 消息体系与 Prompt:不可变模型、`ChatOptions` 与模板渲染
java·人工智能·开源
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 24 章 生产实践与 2.x 迁移:陷阱清单、AOT 与调优
java·人工智能·开源
鶴哥只手遮天10 小时前
Spring AI 2.0.1 深度解析-第 10 章 工具调用(中):执行链路、结果转换与工具限制
java·人工智能·开源