springBoot+devtools实现热部署功能
2017-09-11 21:45
477 查看
实现原理:
使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为 restart ClassLoader
,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间
首先引入依赖:
补充:
1. devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),注意:因为其采用的虚拟机机制,该项重启是很快的。
2. devtools可以实现页面热部署(即页面修改后会立即生效,这个可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现(这里注意不同的模板配置不一样
使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为 restart ClassLoader
,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间
首先引入依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true</scope> </dependency> 添加spring-boot-maven-plugin: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> </configuration> </plugin> </plugins> </build>
补充:
1. devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),注意:因为其采用的虚拟机机制,该项重启是很快的。
2. devtools可以实现页面热部署(即页面修改后会立即生效,这个可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现(这里注意不同的模板配置不一样
相关文章推荐
- Spring boot使用devtools实现热部署(十)
- IntelliJ IDEA中Spring Boot项目使用spring-boot-devtools无法实现热部署/热更新的问题解决
- SpringBoot学习教程 - 02 - 配置DevTools,实现热部署
- 用IDEA实现spring-boot-devtools热部署方法
- Spring Boot系列教程三:使用devtools实现热部署
- Spring Boot在开发时实现热部署(开发时修改文件保存后自动重启应用)(spring-boot-devtools)
- Spring Boot系列教程三:使用devtools实现热部署
- SpringBoot配置devtools实现热部署(eclipse和idea)
- springboot项目利用devtools实现热部署,改动代码自动生效
- Spring Boot集成spring-boot-devtools开发时实现热部署的方式
- IntelliJ IDEA中SpringBoot项目通过devtools实现热部署的方法
- SpringBoot配置devtools实现热部署
- Spring Boot系列教程三:使用devtools实现热部署
- Spring Boot学习笔记-配置devtools实现热部署
- IntelliJ Idea 实现热部署 Spring Loaded spring-boot-devtools
- Spring Boot学习笔记-配置devtools实现热部署
- Spring Boot学习笔记-配置devtools实现热部署
- 在Spring Boot框架下使用WebSocket实现聊天功能
- Spring boot 教程 二 使用devtools来实现热部署
- SpringBoot+Vue.js实现前后端分离的文件上传功能