IDEA下配置Spring Boot的热部署

© 版权声明:本文为博主原创文章,转载请注明出处html

devtools简介 java

spring-boot-devtools会监听classpath下的文件变更,而且会当即重启应用(发生在保存时机),由于其采用的虚拟机机制,该项重启时很快的spring

spring-boot-devtools主要有两个类加载器:缓存

  base classloader(Base类加载器),加载不改变的class,例如:第三方提供的jar包等app

  restart classloader (Restart类加载器),加载正在开发的classmaven

由于重启的时候只加载了正在开发的class,没有从新加载第三方的jar包,因此重启会很快ide

IDEA下配置热部署spring-boot

1. File -->> Settings -->> Build,Execution,Deployment -->> Granle-Android Compiler --> 勾选 Make project automatically(only works while not running / debugging)测试

2. Ctrl + Shift + A,输入Registry,选中第一个回车,勾选 compiler.automake.allow.when app.runningui

3. pom.xml中引入devtools的依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <!-- optional=true,依赖不会传递,该项目依赖devtools;其余依赖本项目的项目需从新引入devtools-->
    <optional>true</optional>
</dependency>

4. pom.xml中添加spring-boot-maven-plugin插件,而且配置<fork>true</fork>(非必须)

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <!-- 本身测试,不配置也可实现热部署 -->
        <fork>true</fork>
    </configuration>
</plugin>

5. 配置application.yml文件(或application.properties)

spring:
  thymeleaf:
    cache: true # false:关闭缓存,即时刷新
  devtools:
    restart:
      enabled: true # 启用热部署
      additional-paths: src/main/java # 设置需重启的目录,目录下的文件改变时会restart

6. Chrome可在开发者模式下(快捷键F12:需打开开发者模式才可以使用该快捷键),禁用缓存(非必须

 

7. 重启项目,进行测试便可

 

参考:

  https://www.imooc.com/video/16717

  https://www.cnblogs.com/winner-0715/p/6666579.html

相关文章
相关标签/搜索