优化SpringBoot程序启动速度

这篇具有很好参考价值的文章主要介绍了优化SpringBoot程序启动速度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring Boot 程序优化

一、延迟初始化Bean

一般在 SpringBoot 中都拥有很多的耗时任务,比如数据库建立连接、初始线程池的创建等等,我们可以延迟这些操作的初始化,来达到优化启动速度的目的。Spring Boot 2.2 版本后引入 spring.main.lazy-initialization属性,配置为 true 会将所有 Bean 延迟初始化。

spring:
  main:
    lazy-initialization: true

二、创建扫描索引

Spring5 之后提供了spring-context-indexer功能,通过提前生成@ComponentScan的扫描索引,解决在类过多时导致扫描速度过慢的问题。
我们只需要将依赖引入,然后在启动类上使用@Indexed注解即可。这样在程序编译打包之后会生成META-INT/spring.components文件,当执行@ComponentScan扫描类时,会读取索引文件,提高扫描速度。

<dependency>
  	<groupId>org.springframework</groupId>
  	<artifactId>spring-context-indexer</artifactId>
  	<optional>true</optional>
</dependency>
@Indexed
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

springboot启动速度优化,tips,spring boot,spring,java

三、升级SpringBoot新版本

SpringBoot每次升级都会对性能进行一些优化,目前最新版已经来到了3,Spring官方对性能优化做的已经非常好,能大大提高程序的编译以及启动速度。文章来源地址https://www.toymoban.com/news/detail-829193.html

到了这里,关于优化SpringBoot程序启动速度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • springboot 项目启动不打印spring 启动日志

    springboot 项目启动不打印spring 启动日志

    今天项目遇到一个很奇怪的问题,服务在启动时,不打印spring 的启动日志。经过排查发现是因为其他的依赖引入了 log4j 的依赖,因为我们的项目用的是logback,所以项目中没有log4j 的相关配置,所以干扰到了日志的打印 下面是log4j缺失配置文件的告警日志: log4j:WARN No append

    2024年02月11日
    浏览(12)
  • spring(15) SpringBoot启动过程

    spring(15) SpringBoot启动过程

    最好的学习方式就是带着问题学习,在分析 SpringBoot 的启动过程前,先问大家 两个问题: 在启动过程中,SpringBoot 是在哪一步实例化 Bean 的? 答案: 在 SpringApplicatio 的 refresh() 方法刷新上下文的时候实例化的,对应本文的第 16 节。 ApplicationContext 作为一个 IOC 容器,底层是通

    2024年02月12日
    浏览(7)
  • SpringBoot 项目启动内存占用过高优化以及内存查看

    在使用SpringBoot 开发过程中,发现不管是本地还是测试环境只要一启动,动不动就占用1G内存,然而本地和测试环境的访问量却并没有多少,导致资源浪费; 2.1、启动命令示例(具体配置可根实际情况调整) nohup java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -Xms128m -Xmx128m -Xmn

    2024年02月03日
    浏览(10)
  • Spring Native 实现 0.059s 启动一个SpringBoot项目!

    Spring Native 实现 0.059s 启动一个SpringBoot项目!

    最近自己用Spring Cloud Alibaba做了一个微服务架构的项目,部署的时候遇到了难题:内存不够。目前该项目有7个微服务,因为我只有一台阿里云的服务器(2C 4G),所以我只能把所有的微服务部署在一台服务器上,部署方式是使用docker制作springboot的fat jar镜像,每个微服务在不加任

    2024年02月12日
    浏览(8)
  • 二十、微服务之-Spring Cloud使用、打包、启动与整合springboot

    二十、微服务之-Spring Cloud使用、打包、启动与整合springboot

    根据 Spring Cloud 的官方网站,Spring Cloud 为开发人员提供了一些快速构建分布式系统常见模式的工具(例如 配置管理、服务发现、断路器、智能路由、领导选举、分布式会话、集群状态 )。 安装 IntelliJ IDEA:从 JetBrains 官方网站下载适用于您操作系统的 IntelliJ IDEA 版本,并按照

    2024年04月29日
    浏览(8)
  • SpringBoot 底层机制分析【Tomcat 启动+Spring 容器初始化+Tomcat 如何关联Spring 容器】【下】

    SpringBoot 底层机制分析【Tomcat 启动+Spring 容器初始化+Tomcat 如何关联Spring 容器】【下】

    😀前言 本篇博文是关于SpringBoot 底层机制分析实现,希望能够帮助你更好的了解SpringBoot 😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉 💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客

    2024年02月13日
    浏览(14)
  • Android启动速度优化

    Android启动速度优化

    本节主要内容:了解APP启动流程、启动状态、查看启动时间、CPU Profile定位启动耗时代码、StrictMode严苛模式检测不合理写法、解决启动黑白屏问题。 一、APP启动流程 ①用户点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求; ②system_server进程接收到

    2024年02月15日
    浏览(9)
  • SpringBoot开发小技巧使用(DEBUG、启动图标修改、Lombok、devtools、Spring Initializr)

    SpringBoot开发小技巧使用(DEBUG、启动图标修改、Lombok、devtools、Spring Initializr)

    在resources/application.properties中添加如下,开启DEBUG功能: 然后启动springboot应用,就可以看到DEBUG的日志。Positive表示生效,Negative表示不生效。如下所示: 下载百度的logo到resouces目录下,然后在resources/application.properties添加如下内容: 最后启动springboot应用。打印的日志如下,

    2024年02月15日
    浏览(11)
  • 基于消息调度优化启动速度方案实践

    基于消息调度优化启动速度方案实践

    在抖音的技术博客 https://juejin.cn/post/7080065015197204511#heading-10中,其介绍了通过修改消息队列顺序实现冷启动优化的方案,不过并未对其具体实现展开详细说明。 本文是对其技术方案的思考验证及实现。 详细代码见github: https://github.com/Knight-ZXW/AppOptimizeFramework 我们首先模拟一个

    2024年02月05日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包