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

热部署和热加载区别:

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

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

 

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

1、集成spring-boot-devtools包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <version>2.6.6</version>
</dependency>

2、修改plugins配置

<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <fork>true</fork>   <!-- 支持热加载 -->
        </configuration>
    </plugin>
</plugins>

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,勾选如下:

 

posted @ 2022-04-11 15:59  七月的枫丶  阅读(513)  评论(1)    收藏  举报