SpringBoot-热部署_03

热部署

spring为开发者提供了一个名为spring-boot-devtools的模板来使Spring Boot 应用支持热部署,提高开发者的开发效率,无需手动启动SpringBoot应用。

devtools原理

深层原理是使用了两个ClassLoader,一个ClassLoader加载那些不会改变的类(第三方jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。

pom.xml 添加坐标

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<fork>true</fork>
				</configuration>
			</plugin>
		</plugins>
</build>

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

application.yml配置文件

spring:
  devtools:
    restart:
      enabled: true

开启自动编译

在这里插入图片描述

在这里插入图片描述

快捷键 ctrl+shift+alt+/,选择Registry,勾上Compiler autoMake allow when app running

在这里插入图片描述
在这里插入图片描述

注:

完成上述操作,springboot热部署完成,不用再次手动保存,它会自动给你保存,保存后,自动重启项目,这种热部署,可能会导致你在登录成功后,在期间修改了代码,自动重启后,可能会导致session变了。这只是一种方式的热部署,可能只是修改了一点,并不想要重启,推荐使用第二种

第二种热部署使用方法:

  1. 修改自动编译
    在这里插入图片描述
  2. 修改完代码后手动保存

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44100514/article/details/86484551