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 小时前
Spring Framework源码解析——ConfigurableApplicationContext
java·spring·源码
麒qiqi12 小时前
【Linux 系统编程】文件 IO 与 Makefile 核心实战:从系统调用到工程编译
java·前端·spring
en-route13 小时前
Spring 框架下 Redis 会话存储应用实践
java·redis·spring
JIngJaneIL13 小时前
基于Java酒店管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
颜颜yan_13 小时前
DevUI自定义开发实践:从零开始构建自定义组件和插件
android·java·数据库
带刺的坐椅13 小时前
Java 低代码平台的“动态引擎”:Liquor
java·javascript·低代码·groovy·liquor
ZePingPingZe13 小时前
Spring Boot + MySQL读写分离实现方案
spring boot·mysql·adb
VX:Fegn089513 小时前
计算机毕业设计|基于springboot + vue健身房管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
想用offer打牌13 小时前
JDK动态代理为什么基于接口而不基于类?
java·后端·面试
听风吟丶13 小时前
微服务性能压测与容量规划实战:从高并发稳定性到精准资源配置
java·开发语言