Spring Boot项目启动速度优化

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

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

import org.springframework.stereotype.lndexed,

3、开启全局懒加载

优点:启动大幅增快

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

注意点:

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

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

相关推荐
or77iu_N8 分钟前
SpringBoot 中的测试jar包knife4j(实现效果非常简单)
java·开发语言·spring boot·后端·mybatis·jar
小小工匠10 分钟前
Spring Boot + Facade Pattern : 通过统一接口简化多模块业务
spring boot·外观模式
codingexpert40411 分钟前
Java 抽象类
java·开发语言
晚晚不晚27 分钟前
后端token校验流程
java
南宫生1 小时前
力扣动态规划-15【算法学习day.109】
java·学习·算法·leetcode·动态规划
xiaoshiguang31 小时前
LeetCode:96.不同的二叉搜索树
java·算法·leetcode·动态规划
hamster20211 小时前
力扣【416. 分割等和子集】详细Java题解(背包问题)
java·算法·leetcode
weixin_422778891 小时前
springboot 简化 spring开发
java·spring boot·spring
feathered-feathered2 小时前
详细解释java当中的所有知识点(前言及数据类型及变量)(第一部分)
java·开发语言·笔记·idea
苹果酱05672 小时前
【MySQL】MySQL客户端连接用 localhost和127.0.0.1的区别
java·spring boot·毕业设计·layui·课程设计