Spring Boot项目启动速度优化

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

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

import org.springframework.stereotype.lndexed,

3、开启全局懒加载

优点:启动大幅增快

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

注意点:

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

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

相关推荐
sheji34166 小时前
【开题答辩全过程】以 基于JAVA的社团管理系统为例,包含答辩的问题和答案
java·开发语言
油丶酸萝卜别吃6 小时前
lombok的几个核心注解是什么?
java·tomcat
毕设源码-邱学长6 小时前
【开题答辩全过程】以 个性化新闻推荐系统为例,包含答辩的问题和答案
java
a程序小傲6 小时前
京东Java面试被问:ZGC的染色指针如何实现?内存屏障如何处理?
java·后端·python·面试
vx_bisheyuange6 小时前
基于SpringBoot的老年一站式服务平台
java·spring boot·后端·毕业设计
计算机毕设VX:Fegn08957 小时前
计算机毕业设计|基于Java + vue水果商城系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·课程设计
TH_17 小时前
2、前台工程使用代理,请求后台失败
java
川贝枇杷膏cbppg7 小时前
DmServiceDMSERVER.log是干嘛的
java·服务器·数据库
无敌最俊朗@7 小时前
Qt 多线程编程: moveToThread 模式讲解
java·开发语言
程序员清风7 小时前
别卷模型了!上下文工程才是大模型应用的王道!
java·后端·面试