SpringBoot启动慢的解决办法
项⽬集成了很多内容,有 700 多个类,IDEA 中启动⼀次需要 70 秒,⾮常影响开发效率。
研究问题原因发现有以下⼏种情况会导致启动速度慢,优化后启动只需 26 秒左右了:
1. 和⽹卡有关,禁⽤⼀些不⽤的⽹卡可以提⾼ 2~3 秒,因为启动时会根据 ip 地址获取机器名,有的⽹卡获取不到会等 1 秒超时才返回。
2. gradle 中如果依赖了 sleuth 会导致项⽬启动⾮常慢,可以在开发环境禁⽤掉,通过系统变量控制,操作步骤:
在系统环境变量中设置 IDEA_PROFILE=dev
修改 adle
//有些包在开发环境可以不⽤加载,可缩短启动时间
if (v("IDEA_PROFILE") == 'dev') {
println 'dev'
} else {
println('not dev')
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-sleuth', version: '1.3.3.RELEASE'
}
填加环境变量后,需要做⼀次 gradle clean
然后重启 IDEA,在 build 时看到下⾯红框中的 dev 就对了
springboot实现aop
3. 如果⽤了 AOP 并且切⼊点使⽤了 @annotation 注解的切⼊⽅式,会导致系统启动时对每个⽅法都判断是否有对应注解,⾮常耗时如果这些注解在开发环境作⽤不⼤,可通过 Profile 注解设置为只在⽣产和测试环境⽣效,或改⽤其他⽅式切⼊,不要⽤ @annotation 注解切⼊
4. 另外配置⽂件增加以下配置,关闭⼀些监控功能,可以快2秒
endpoints:
enabled: false  //关闭⼀些监控功能,可以快2秒

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。