Spring Boot项目启动速度优化

1、配置自动配置排除列表,减少启动自动配置扫描,配置项spring.autoconfigure.exclude

2、启动类添加索引注解@Indexed,去除启动过程中 Components 的扫描步骤,直接从索引文件读取。

import org.springframework.stereotype.lndexed,

3、开启全局懒加载

优点:启动大幅增快

缺点:Bean 在业务访问的时候才加载,业务第一访问速度变慢(此缺点可以考虑注意点 2解决方案)

注意点:

  • 针对有依赖容器的工具类,需要增加@Lazy(faLse)和@Dependson 注解
  • 针对业务访问缓慢问题,可以选择在容器启动后自行做 Bean 加载,可以参考如下(此方案还是有缺点,自行体验)

4、开启部分懒加载,针对很少或者基本不会被访问的业务相关的 Bean,可以选择添加@Lazy注解开启懒加载

相关推荐
coNh OOSI1 天前
Spring Boot问题总结
java·spring boot·后端
ISkp3V8b41 天前
基于项目工程构建SBOM(软件物料清单)的研究
java·visual studio
郝学胜-神的一滴1 天前
「栈与缩点的艺术」二叉树前序序列化合法性判定:从脑筋急转弯到工程实现
java·开发语言·数据结构·c++·python·算法
她说..1 天前
Java Object类与String相关高频面试题
java·开发语言·jvm·spring boot·java-ee
计算机学姐1 天前
基于SpringBoot的宠物店管理系统
java·vue.js·spring boot·后端·spring·java-ee·intellij-idea
无心水1 天前
22、Java开发避坑指南:日期时间、Spring核心与接口设计的最佳实践
java·开发语言·后端·python·spring·java.time·java时间处理
Rsun045511 天前
SpringBoot + Cursor 最佳提示词工程手册
java·spring boot·后端
cch89181 天前
汇编VS C++:底层控制与高效开发之争
java·开发语言
openallzzz1 天前
版本赶工期可临时扩容:模块开发、联调、交接一体化
java·摸鱼·外包
后端AI实验室1 天前
裁员后我被迫负责运维,用AI从0搭建了可观测性平台
java·ai