Spring Boot项目启动速度优化

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

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

import org.springframework.stereotype.lndexed,

3、开启全局懒加载

优点:启动大幅增快

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

注意点:

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

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

相关推荐
C雨后彩虹3 分钟前
行为模式-观察者模式
java·观察者模式·设计模式
天天摸鱼的java工程师3 分钟前
百万数据导出Excel:从新手坑到老鸟方案
java·后端·面试
愿你天黑有灯下雨有伞3 分钟前
从数据库到播放器:Java视频续播功能完整实现解析
java·数据库·音视频
hqxstudying4 分钟前
Java行为型模式---观察者模式
java·开发语言·windows·观察者模式
DKPT7 分钟前
Java观察者模式实现方式与测试方法
java·笔记·学习·观察者模式·设计模式
酥骨鱼19 分钟前
Spring AI集成Qwen/QwQ-32B使用硅基流动实现对话
java·后端
鲁子狄23 分钟前
[笔记] 动态 SQL 查询技术解析:构建灵活高效的企业级数据访问层
java·spring boot·笔记·sql·mysql·mybatis
yaoxin52112341 分钟前
131. Java 泛型 - 目标类型与泛型推断
java
甜鲸鱼1 小时前
在Maven多模块项目中进行跨模块的SpringBoot单元测试
spring boot·单元测试·maven
惊骇世俗王某人1 小时前
1. 深入理解ArrayList源码
java·开发语言