pom.xml
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <version>1.5.4.RELEASE</version>
  <optional>true</optional><!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 -->
</dependency>
<build>
    <plugins>
      <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <configuration>
                <!--fork :  如果没有该项配置,devtools不会起作用,即应用不会restart -->
                <fork>true</fork>
          </configuration>
      </plugin>
    </plugins>
</build>
开启ide自动编译功能
1.通过sttings-->complier-->Make project automatically勾选

开启自动编译
2.通过shift + Ctrl + Alt + / 打开如下界面

快捷键
点击Registry打开如下界面勾选中红线上的选项

image.png
application.yml
spring:
  devtools:
    restart:
      #以下路径下的文件被修改时重启项目
      additional-paths: src/main/java,src/main/resources/templates
      #以下路径下的文件被修改时不重启项目
      exclude: static/**
将模板引擎的缓存关闭(以freemarker为例)
spring:
  freemarker:
    cache: false
此时修改java代码与templates中的ftl文件都会重启项目