springboot中怎么优化启动速度

这期内容当中小编将会给大家带来有关spring boot中怎么优化启动速度,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联服务项目包括象州网站建设、象州网站制作、象州网页制作以及象州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,象州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到象州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

步骤如下:

将日志级别设置为debug,启动后重点关注以下输出日志内容

=========================
AUTO-CONFIGURATION REPORT
=========================

然后复制 Positive matches 里面所有出现的自动配置对象,删除启动类中的SpringBootApplication注解,改为手动配置,如下:

@Configuration
@Import({
xxAutoConfiguration.class,
})
public class App {

以上步骤操作后,是不是觉得没啥优化空间了,那你就大错特错了,接下来我们可以分析下boot中有多少实现xxRunner接口的类,如果发现该类运行比较耗时,这时候我们就可以下手去优化它,具体分析步骤如下:
  1. 通过ApplicationContext#getBean(XxRunner.class),就可以知道当前项目中有多少Runner

  2. 然后监听每个Runner运行过程需要消耗的时长,当然如果通过第一步获取到的Runner很少可以忽略以下步骤

  3. 将所有的Runner子类的run方法由原来的同步改为异步,这对程序正常运行基本上不会有影响,如果确实需要同步执行的,可以忽略这些特需类

具体如何实现,此处只提供思路,不提供代码,哈哈,很简单利用aop去拦截XxRunner#run方法,然后使用线程池去执行run方法即可

经过以上操作基本上完成大部分优化工作,接下还有没有优化空间,当然有,具体如下:
  1. 排除项目用多余的依赖jar,具体如何排除可以通过idea中的maven-helper插件去分析jar依赖关系

  2. 如果项目用到swagger,在生产环境打包时去除swagger所有依赖,因为生产环境根本用不上,swagger生成api接口时需要扫描所有的controller,这是很费时的过程

  3. 接下来就是整个性能优化,此处就不做说明,如内置tomcat调优或者直接换成undertow,jvm调优等自行百度

上述就是小编为大家分享的spring boot中怎么优化启动速度了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


网页名称:springboot中怎么优化启动速度
网页地址:http://scyanting.com/article/jpooho.html