Spring Boot开启热部署
热部署是什么
大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的 Class 文件,这个文件里记录着和代码等对应的各种信息,然后 Class 文件将被虚拟机的 ClassLoader 加载。
而热部署正是利用了这个特点,它监听到如果有 Class 文件改动了,就会创建一个新的 ClaassLoader 进行加载该文件,经过一系列的过程,最终将结果呈现在我们眼前。
两种方式开启热部署
- spring loaded
- spring-boot-devtools
①使用spring loaded开启热部署:
pom.xml添入依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.6.RELEASE</version>
</dependency>
②使用spring-boot-devtools开启热部署:
pom.xml添入依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>provided</scope>
<optional>true</optional>
</dependency>
在application.yml中加入配置:
spring:
devtools:
restart:
enabled: true ##开启热部署
依赖添加后,首次启动我们使用cmd命令行的方式启动项目,在项目pom.xml路径下使用命令:mvn spring-boot:run 启动项目。
启动完毕后我们可以通过地址栏的方式请求controller层方法,如http://localhost/user/get,尝试修改此方法,添入 System.out.println("hello");
后,观察项目否重启,如果项目成功重启后再次访问该方法,控制台打印出hello,则部署成功。
注:若不成功,查看自己编译器是否开启了配置:
IDEA环境:
Eclipse环境:
最后测试完毕后使用ctrl+c强制退出后出现下图即可在自己环境下放心使用了。