码迷,mamicode.com
首页 > 编程语言 > 详细

springboot热部署

时间:2018-12-13 11:28:11      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:img   path   restart   bsp   记录   org   maven   artifact   需要   

热启动:修改代码保存时会自动重新启动项目。

热部署:动态替换你修改的class,效率会更高。

热部署是什么

编译生成Class 文件,文件里记录着和代码等对应的元数据,然后 Class 文件将被虚拟机的 ClassLoader 加载。

热部署利用class文件修改的特点,监听class文件是否有改动,有改动就用ClassLoader进行加载。

类的加载机制

Java 中的类经过编译器可以把代码编译为存储字节码的 Class 文件,该 Class 文件存储了各种信息,最终要加载到虚拟机中运行使用。

虚拟机把描述类的数据从 Class 文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型。

Springboot实现热部署

POM中添加

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-devtools</artifactId>
 <optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- spring热部署 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.6.RELEASE</version>
</dependency>
</plugin>
</plugins>
</build>

使用 spring-boot-devtools

idea配置

(1)File-Settings-Compiler-Build Project automatically

技术分享图片

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

技术分享图片

配置文件application.properties添加

#热部署生效
spring.devtools.restart.enabled=true
#设置重启的目录
spring.devtools.restart.additional-paths=src/main/java

 

springboot热部署

标签:img   path   restart   bsp   记录   org   maven   artifact   需要   

原文地址:https://www.cnblogs.com/mutong1228/p/10112569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!