加快弹簧启动启动时间
我有一个Spring Boot应用程序。我已经添加了很多依赖项(不幸的是,看起来我需要所有这些依赖项),并且启动时间增加了很多。只需做一个需要10秒钟。SpringApplication.run(source, args)
虽然与“习惯”相比,这可能并不多,但我很高兴它需要这么多,主要是因为它破坏了开发流程。此时,应用程序本身相当小,因此我假设大多数时间与添加的依赖项相关,而不是应用程序类本身。
我假设问题是类路径扫描,但我不确定如何:
- 确认这是问题所在(即如何“调试”Spring Boot)
- 如果它真的是原因,我该如何限制它,让它变得更快?例如,如果我知道某些依赖项或包不包含Spring应该扫描的任何内容,那么有没有办法限制它?
我假设在启动期间增强Spring以具有并行bean初始化会加快速度,但是该增强请求自2011年以来一直开放,没有任何进展。我在Spring Boot本身中看到了其他一些努力,例如调查Tomcat JarScanning速度改进,但这是Tomcat特有的,已被放弃。
本文:
虽然针对集成测试,建议使用,但是我不知道如何使用Java配置将其应用于Spring Boot中的所有bean - 这里有任何指针吗?lazy-init=true
欢迎提出任何(其他)建议。