Spring Boot项目启动速度优化

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

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

import org.springframework.stereotype.lndexed,

3、开启全局懒加载

优点:启动大幅增快

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

注意点:

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

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

相关推荐
白鸽(二般)12 小时前
MinIO Java Client API
java·开发语言
软萌萌的113 小时前
Java Spring Boot 修改yml配置&加载顺序规则
java·spring boot·python
IT小盘14 小时前
13-企业Prompt模板-角色任务约束与输出格式
java·前端·prompt
爱敲键盘的猴子14 小时前
Java并发编程 -- volatile
java·java并发
plainGeekDev15 小时前
工厂模式 → Hilt
android·java·kotlin
plainGeekDev16 小时前
Application 单例 → Hilt Singleton
android·java·kotlin
888CC++16 小时前
C语言与C++的区别:从面向过程到面向对象
java·c语言·c++
学者猫头鹰17 小时前
分布式事务实战教程
java·分布式
heimeiyingwang18 小时前
【架构实战】Kubernetes调度器深度剖析:从Pod调度到自定义调度器
java·架构·kubernetes
纳兰青华19 小时前
回文侦探:三种境界破解最长回文子串
java·算法·动态规划