1.概述
转载并且补充:SpringBoot项目启动时间从7分钟降到了40秒!
转载这篇文章是因为,我恰巧也在做这个优化,我的程序原本启动时间也是5分钟以上,然后优化后速度降低到30秒启动成功。 先看看别人怎么做的。
2.别人的优化
2.1 背景
公司 SpringBoot 项目在日常开发过程中发现服务启动过程异常缓慢,常常需要6-7分钟才能暴露端口,严重降低开发效率。通过 SpringBoot 的 SpringApplicationRunListener 、BeanPostProcessor 原理和源码调试等手段排查发现,在 Bean 扫描和 Bean 注入这个两个阶段有很大的性能瓶颈。
通过 JavaConfig 注册 Bean, 减少 SpringBoot 的扫描路径,同时基于 Springboot 自动配置原理对第三方依赖优化改造,将服务本地启动时间从7min 降至40s 左右的过程。 本文会涉及以下知识点:
基于 SpringApplicationRunListener 原理观察 SpringBoot 启动 run 方法;
基于