Springboot学习笔记3 开启热部署

目录

导入坐标

手动激活

自动激活:

热部署配置的范围 

关闭热部署


导入坐标

要开启热部署功能,首先要先在maven的pom配置文件导入一个springboot开发工具的坐标。,坐标如下

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
</dependency>

手动激活

在导入坐标后,当我们对代码完成修改后,点击构建项目,便可完成热部署。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARy5FLk4u,size_20,color_FFFFFF,t_70,g_se,x_16

自动激活:

如果是手动激活的话,这样还是会很麻烦,我不如直接去重启一下项目,我们需要的是自动激活,那么我们如何自动激活呢?

打开设置 

打开设置 - 构建、执行、部署 - 编译器,里面有一个自动编译的选项

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARy5FLk4u,size_20,color_FFFFFF,t_70,g_se,x_16

 接下来按住ctrl++alt+shift+/

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARy5FLk4u,size_20,color_FFFFFF,t_70,g_se,x_16

打开注册表

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARy5FLk4u,size_20,color_FFFFFF,t_70,g_se,x_16

找到这一项,并勾选

这样一来,热部署就开启了。自动构建项目是在idea失去焦点(也就是打开其他页面)五秒后才开始执行自动构建的,这种方式很好的避免了,敲一个字母自动构建一次的情况,防止电脑崩溃。这个设计还是很合理的

热部署配置的范围 

springboot中以下的目录默认情况下都是不参与热部署的

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARy5FLk4u,size_20,color_FFFFFF,t_70,g_se,x_16

 我们也可以在yml配置文件中来规定,哪些目录和文件不参与热部署

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARy5FLk4u,size_20,color_FFFFFF,t_70,g_se,x_16

 static/**代表static目录下的所有文件均不参与热部署

关闭热部署

热部署仅在开发阶段奏效,因为在实际的上线运行过程中,不可能出现程序在运行时,发生代码改变的情况。因此,热部署仅在开发阶段奏效。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARy5FLk4u,size_20,color_FFFFFF,t_70,g_se,x_16

如果我们想要在开发阶段,关闭热部署的功能,只需要在配置文件中添加enable: false即可。

true代表开启,而false代表关闭

但是仅仅在配置文件中,添加 enable: false有时是不生效的,因为一个springboot中可能存在多个配置文件,在其他优先级更高的配置文件中,可能开启了热部署,那么为了避免配置的覆盖,我们在程序开始之前就要为程序添加一个系统级的设置

@SpringBootApplication
public class SSMPApplication {
    public static void main(String[] args) {
        System.setProperty("spring.devtools.restart.enable","false");
        SpringApplication.run(SSMPApplication.class);
    }

}

 这样就保证了配置不会被覆盖,热部署的功能一定是关闭的

猜你喜欢

转载自blog.csdn.net/qq_63708623/article/details/124426606