Spring Boot项目启动速度优化

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

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

import org.springframework.stereotype.lndexed,

3、开启全局懒加载

优点:启动大幅增快

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

注意点:

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

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

相关推荐
520拼好饭被践踏几秒前
JAVA+Agent学习day25
java·开发语言·学习
大黄说说2 分钟前
Java 并发大坑:volatile、synchronized、Lock 三者如何选择?
java·开发语言
IMPYLH26 分钟前
HTML 的 <em> 元素
java·前端·html
啊真真真33 分钟前
ArgoCD:我的GitOps探索之旅与未来展望
java·算法·argocd
深入云栈39 分钟前
从零手写连接池:Redisson ConnectionsHolder设计与简化实现
java·架构
学编程就要猛42 分钟前
解析博客系统后端实现
java·mysql·jwt·摘要算法·加盐
笨蛋不要掉眼泪43 分钟前
RabbitMQ消息队列:交换机机制
java·分布式·rabbitmq
米码收割机2 小时前
【项目】spring boot+vue3 宠物领养系统(源码+文档)【独一无二】
java·spring boot·宠物
刹那芳华19923 小时前
STMF+ESP-S+MQTT协议连接华为云端(附踩坑记录)
java·struts·华为
就改了8 小时前
Java8 日期处理(详细版)
java·python·算法