Spring spring

Spring中文网站 > Spring Boot > Spring Boot启动慢如何排查 Spring Boot启动慢如何优化
Spring Boot启动慢如何排查 Spring Boot启动慢如何优化
发布时间:2026/04/28 09:28:28

品牌型号:联想拯救者R7000

系统:Windows 10专业版

软件版本:Spring Boot 4.0.2

我们在做Java后端开发工作时,一般选择使用Spring Boot框架,因为其配置简单、生态丰富、能大幅提高开发效率。但是随着项目规模扩大,依赖增多、业务逻辑复杂,可能会遇到Spring Boot启动慢的问题,怎么排查问题并且优化启动速度呢?本文将为大家介绍Spring Boot启动慢如何排查,Spring Boot启动慢如何优化的相关内容。

一、Spring Boot启动慢如何排查

我们在做Spring Boot项目开发时,可能会遇到启动慢的情况,写完代码后,启动一次可能需要十几分钟,严重影响调试效率。下面我就为大家介绍一下Spring Boot排查启动慢的步骤。

1、排查多余依赖

如果是本地项目,为了方便可能会一次性引入多个Starter依赖,比如引入了elasticsearch、redis、RabbitMQ等多个依赖,但是elasticsearch却没有投入使用,Spring Boot 启动时会自动加载这些依赖对应的Bean,消耗大量启动时间。

排查依赖
图1:排查依赖

2、排查组件扫描范围过大

本地启动类的@SpringBootApplication注解如果不指定扫描包路径,会默认扫描项目所有包及子包,包括工具类包、测试包等无关内容,扫描这些“无效类”会大幅增加启动时间。

启动类扫描包
图2:启动类扫描包

3、排查数据库连接耗时

本地开发时,Spring Boot会在启动项目时连接数据库,如果此时本地数据库并没有启动,或者连接配置出现错误,框架会反复重试连接导致启动速度慢,甚至卡死。排查时需要查看控制台日志,如果日志“卡”在数据库连接步骤,基本可以确定是数据库连接问题。

数据库连接失败
图3:数据库连接失败

4、排查日志系统初始化缓慢

本地默认使用Logback日志框架,若日志配置文件过于复杂,例如开启了实时写入文件、多级日志过滤、日志归档等,会导致日志初始化速度变慢,从而引发Spring Boot启动慢的问题,我们可以查看logback.xml,简化此处的配置。

排查日志
图4:排查日志

二、Spring Boot启动慢如何优化

上面为大家介绍了排查Spring Boot启动慢的方式,排查出问题后,怎么优化Spring Boot的启动速度呢?下面我就为大家介绍一些具体的优化方式。

1、打开【pom.xml】文件,检查有没有未使用的多余依赖包。在开发阶段,经常会为了方便,直接复制其他项目的pom依赖,没有根据项目调整依赖造成启动慢,只需要及时删除未使用的依赖即可优化启动慢的问题,我们可以借助maven命令【mvn dependency:analyze】查找未被使用的依赖。

排查依赖
图5:排查依赖

2、在启动类的【@SpringBootApplication】注解中,使用scanBasePackages指定具体的包路径。例如,单体架构中,业务代码可能存放在一个包下,假如是【com.example.business】包下,工具类在【com.example.util】,就可以配置为【@SpringBootApplication(scanBasePackages = "com.example.business")】,这样框架只会扫描业务相关的类,提高启动速度。同时,对于不需要被Spring管理的类(如工具类),不要添加@Component等注解,防止被误扫描。

指定扫描包路径
图6:指定扫描包路径

三、总结

以上就是Spring Boot启动慢如何排查,Spring Boot启动慢如何优化的相关内容。在本地开发时,如果遇到了Spring Boot启动慢的问题,可以参考上文内容排查问题所在,并且文中介绍了常见启动慢问题的解决方案,希望对你有所帮助。

180 1563 6924