Spring Boot 热部署

在Spring Boot 中提供了spring-boot-devtools开发工具,实现了SpringBoot的热部署,热部署就是在项目正在运行的时候修改代码,却不需要重新启动项目,大大提高了开发效率。
热部署原理
    大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动 效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的 Class 文件,这个 文件里记录着和代码等对应的各种信息,然后 Class 文件将被虚拟机的 ClassLoader 加载。
    而热部署正是利用了这个特点,它监听到如果有 Class 文件改动了,就会创建一个新 的 ClaassLoader 进行加载该文件,经过一系列的过程,最终将结果呈现在我们眼前。
devtools 应用
1.添加依赖 
首先在 pom.xml 中添加 devtools 依赖,代码如下:
   <dependency>
        <groupId>org. springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>


2.application.yml 中配置一下 devtools
 以下配置用于自定义配置热部署,也可不设置,代码如下:
spring :
        devtools :
            restart :
                enabled: true#设置开启热部署
                additional-paths: src/main/java #重启目录
                exclude: wEB一工NF/**#指定目录不更新
            freemarker :
                cache: false#页面不加载缓存,修改即时生效
IDEA 中配置 
当我们修改了类文件后,idea 不会自动编译,得修改 idea 设置。 
1)File-Settings-Compiler-Build Project automatically

2)ctrl + shift + alt + / ,选择 Registry,勾上 Compiler autoMake allow when app running, 如图

原文地址:https://www.cnblogs.com/tszr/p/15449649.html