专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
今天看啥  ›  专栏  ›  macrozheng

公司新入职一位大佬,把SpringBoot项目启动时间从7分钟降到了40秒!

macrozheng  · 公众号  ·  · 2025-02-05 14:10
    

文章预览

Boot+Cloud项目学习: macrozheng.com 背景 公司 SpringBoot 项目在日常开发过程中发现服务启动过程异常缓慢,常常需要6-7分钟才能暴露端口,严重降低开发效率。通过 SpringBoot 的 SpringApplicationRunListener 、 BeanPostProcessor 原理和源码调试等手段排查发现,在 Bean 扫描和 Bean 注入这个两个阶段有很大的性能瓶颈。 通过 JavaConfig 注册 Bean, 减少 SpringBoot 的扫描路径,同时基于 Springboot 自动配置原理对第三方依赖优化改造,将服务本地启动时间从7min 降至40s 左右的过程。本文会涉及以下知识点: 基于 SpringApplicationRunListener 原理观察 SpringBoot 启动 run 方法; 基于 BeanPostProcessor 原理监控 Bean 注入耗时; SpringBoot Cache 自动化配置原理; SpringBoot 自动化配置原理及 starter 改造; 耗时问题排查 SpringBoot 服务启动耗时排查,目前有2个思路: 排查 SpringBoot 服务的启动过程; ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览