Springboot开发中启用热加载避免重复启停服务容器


热部署和热加载区别:

1、热部署
   项目已经运行,某个模块变更之后,无需重启tomcat,但是会清空内存,重新打包,重新解压war包运行。

2、热加载
   监听项目文件变化,包括web-inf/class,wen-inf/lib,web-inf/web.xml等文件,若发生更改,则局部进行加载,不清空session ,不释放内存。开发中用的多,但是要考虑内存溢出的情况。

那么基于idea开发springboot项目如何使用热加载?

1、集成spring-boot-devtools包


    org.springframework.boot
    spring-boot-devtools
    2.6.6

2、修改plugins配置


    
        org.springframework.boot
        spring-boot-maven-plugin
        
            true   
        
    

3、修改application.properties配置

spring.devtools.restart.enabled=true

4、修改idea配置,找到工具栏,File>Settings>Build,Execution,Deployment>Compiler,勾选:Build project automatically,点击【OK】保存。

这时候你会说......对,没卵用!!!

还有个地方需要设置,不过要区分下版本,看看你的IDEA版本。

2021.2之前

Ctrl+Shift+Alt+/,召唤Registry,找到并勾选 compiler.automake.allow.when.app.running

2021.2之后

找到Advanced Settings,勾选如下: