如果不使用devtools,我们对类的任何修改都需要重启服务才能看到效果,这是不是很操蛋,现在介绍一个如果实现热部署的方法
第一步:先导入依赖
1:pom.xml中增加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<version>1.5.1.RELEASE</version>
<optional>true</optional>
</dependency>
2:pom.xml中增加以下插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
第二步:写application.properties
#关闭缓存,即时刷新
#spring。freemarker。cache=false
#下面这是开启及时刷新
spring.thymeleaf.cache=true
#热部署生效
spring.devtools.restart.enabled=true
#设置重启的目录,添加那个目录的文件需要restart
spring.devtools.restart.additional-paths=src/main/java
#为mybatis设置,生产环境可删除
#restart。include。mapper=/mapper-[\\w-\\.]+jar
#restart.include.pagehlper=/pagehelper-[\\w-\\.]+jar
#排除哪个目录下的文件不需要restart
#spring.devtools.restart.exclude=static/**,public/**
#classpath目录下的WEB-INF文件夹内容修改不重启
#spring.devtools.restart.exclude=WEB-INF/**
**
第三步:更改idea的设置
**
当我们修改了java类后,IDEA默认是不自动编译的,而spring-boot-devtools又是监测classpath下的文件发生变化才会重启应用,
所以需要设置IDEA的自动编译:
(1)File-Settings-Compiler-Build Project automatically
(2)ctrl + shift + alt + /,四个键同时按下
选择Registry,勾上 Compiler autoMake allow when app running
**
这样热部署就生效了
**