spring-boot之如何提高 Spring Boot 启动时间

webabcd 阅读:10 2024-06-03 14:00:57 评论:0

是否可以改善Spring Boot的启动时间?

这是一个空的 CommandLineRunner 项目的示例。启动时间为 914 毫秒。

@SpringBootApplication 
public class Main implements CommandLineRunner { 
 
    private static long t1; 
 
    public static void main(String[] args) { 
        t1 = System.currentTimeMillis(); 
        SpringApplication.run(Main.class, args); 
    } 
 
    @Override 
    public void run(String... args) throws Exception { 
        System.out.println(System.currentTimeMillis() - t1);     
    } 
 
} 

请您参考如下方法:

您可以使用Spring Framework 5.0组件索引功能作为类路径扫描的替代方法来缩短引导启动时间。

添加此支持是为了简化类路径扫描器中候选组件识别步骤。

应用程序构建任务可以为当前项目定义自己的 META-INF/spring.components 文件。

在编译时,会对源模型进行内省(introspection),并标记 JPA 实体和 Spring 组件。

对于类少于 200 个的小型项目,从索引读取实体而不是扫描类路径没有显着差异。

但是,

It has significant impacts on large projects. Loading the component index is cheap. Therefore, the startup time with the index remains constant as the number of classes increases.

您可以在此处找到更多详细信息JIRA

更新其他选项

Spring Boot 2.2 中的延迟初始化功能 Spring Boot 2.2 可以轻松启用延迟初始化。需要将 spring.main.lazy-initialization 设置为 true 以启用延迟初始化。

注意 - 惰性内化有一些优点和缺点,请谨慎使用。更多详情请查看This


标签:Spring
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号