Spring Boot项目启动速度优化

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

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

import org.springframework.stereotype.lndexed,

3、开启全局懒加载

优点:启动大幅增快

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

注意点:

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

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

相关推荐
曹绍华6 分钟前
android 线程loop
android·java·开发语言
我命由我1234511 分钟前
Android 开发 - Android JNI 开发关键要点
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
YG亲测源码屋24 分钟前
怎么让自己的网址被百度收录(网站如何被百度收录进去)
java·百度·dubbo
风筝在晴天搁浅25 分钟前
代码随想录 Q89.跳跃游戏Ⅱ
java
tryxr1 小时前
变量捕获相关内容
java·开发语言·jvm
拉不动的猪1 小时前
Token无感刷新全流程(Vue + Axios + Node.js(Express))
java·javascript·vue.js
m0_639817151 小时前
基于springboot个人云盘管理系统【带源码和文档】
java·spring boot·后端
大头an2 小时前
Spring事务隔离级别全解析:从读未提交到序列化
java
大隐隐于野2 小时前
从零开始理解和编写LLM中的KV缓存
java·缓存·llm
DKunYu2 小时前
1.多线程初阶
java·开发语言