Spring Boot项目启动速度优化

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

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

import org.springframework.stereotype.lndexed,

3、开启全局懒加载

优点:启动大幅增快

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

注意点:

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

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

相关推荐
做个文艺程序员2 小时前
第04篇:K8s 弹性伸缩实战:HPA、VPA、KEDA——Java SaaS 应对流量洪峰的秘密武器
java·容器·kubernetes·弹性伸缩·自动扩容·ai 推理伸缩
石山代码6 小时前
ArrayList / HashMap / ConcurrentHashMap
java·开发语言
AskHarries7 小时前
系统提示词、开发者指令和用户输入的优先级
java·前端·数据库
daidaidaiyu8 小时前
ThingsBoard 规则链系统源码分析和自定义定时器
java
小毛驴8508 小时前
spring-boot-maven-plugin,maven-compiler-plugin 功能对比
java·python·maven
csdn_aspnet9 小时前
Java 霍尔分区算法(Hoare‘s Partition Algorithm)
java·开发语言·算法
霸道流氓气质9 小时前
通义灵码 IDEA 插件完全使用指南
java·ide·intellij-idea
诸葛务农9 小时前
道路行驶条件下电动汽车永磁电机的有效使用寿命及永磁体的失效和回收再利用(下)
java·开发语言·算法
Percep_gan9 小时前
Java8中的stream的测试使用
java
砍材农夫9 小时前
物联网实战:Spring Boot MQTT | MQTT 设备模拟器演示(附源码)
java·spring boot·后端·物联网·spring·netty