IDEA下配置Spring Boot的热部署
© 版权声明:本文为博主原创文章,转载请注明出处
devtools简介
spring-boot-devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),因为其采用的虚拟机机制,该项重启时很快的
spring-boot-devtools主要有两个类加载器:
base classloader(Base类加载器),加载不改变的class,例如:第三方提供的jar包等
restart classloader (Restart类加载器),加载正在开发的class
因为重启的时候只加载了正在开发的class,没有重新加载第三方的jar包,所以重启会很快
IDEA下配置热部署
1. File -->> Settings -->> Build,Execution,Deployment -->> Granle-Android Compiler --> 勾选 Make project automatically(only works while not running / debugging)
2. Ctrl + Shift + A,输入Registry,选中第一个回车,勾选 compiler.automake.allow.when app.running
3. pom.xml中引入devtools的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<!-- optional=true,依赖不会传递,该项目依赖devtools;其他依赖本项目的项目需重新引入devtools-->
<optional>true</optional>
</dependency>
4. pom.xml中添加spring-boot-maven-plugin插件,并且配置<fork>true</fork>(非必须)
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 自己测试,不配置也可实现热部署 -->
<fork>true</fork>
</configuration>
</plugin>
5. 配置application.yml文件(或application.properties)
spring:
thymeleaf:
cache: true # false:关闭缓存,即时刷新
devtools:
restart:
enabled: true # 启用热部署
additional-paths: src/main/java # 设置需重启的目录,目录下的文件改变时会restart
6. Chrome可在开发者模式下(快捷键F12:需打开开发者模式才可使用该快捷键),禁用缓存(非必须)
7. 重启项目,进行测试即可
参考:
https://www.imooc.com/video/16717
https://www.cnblogs.com/winner-0715/p/6666579.html
IDEA下配置Spring Boot的热部署的更多相关文章
- Spring boot的热部署
当把配置文件,比如yml也打到jar包后,如何修改配置,而又不用重新发布呢? 在jar包同一目录下,放置Application.yml (注意,不管jar包内是否此文件名)修改配置文件后,重新启动ja ...
- Spring boot之热部署
springboot热部署 1.springloaded(热部署) 2.devtools(热部署) 一.springloaded 问题的提出: 在编写代码的时候,你会发现我们只是简单把打印信息改变了, ...
- spring boot 调试 - 热部署
maven gradle Maven: 命令行方式: mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport= ...
- spring boot 之热部署(三)
热部署:当发现程序修改时自动启动应用程序. spring boot使用的是spring-boot-devtools是一个为开发者服务的一个模块.其原理用了classLoader 其中一个加载不变的类, ...
- Spring Boot实现热部署
在Spring Boot实现代码热部署是一件很简单的事情,代码的修改可以自动部署并重新热启动项目. 引用devtools依赖 <dependency> <groupId>org ...
- spring boot 之热部署
热部署:当发现程序修改时自动启动应用程序. spring boot使用的是spring-boot-devtools是一个为开发者服务的一个模块.其原理用了classLoader 其中一个加载不变的类, ...
- Spring Boot (3) 热部署devtools
热部署:当发现程序修改时自动启动应用程序. spring boot为开发者提供了一个名为spring-boot-devtools的模块来使sring boot应用支持热部署,提高开发者的开发效率,无需 ...
- 1. Spring boot 之热部署
1. spring boot 热部署 1.1. springloaded springloaded可以实现修改类文件的热部署.下载地址:springloaded 安装单击Run Configurati ...
- spring boot开启热部署
步骤一:添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...
随机推荐
- js-offsetX、pageX、clientX、layerX、screenX
真心地我也是懵逼的 clientX,clientY:针对屏幕有效区域,不包括滚动部分,坐标(0,0)一直在有效区域的左上角 X,Y: 针对屏幕有效区域,不包括滚动部分,坐标(0, ...
- request与response对象.
request与response对象. 1. request代表请求对象 response代表的响应对象. 学习它们我们可以操作http请求与响应. 2.request,response体系结构. 在 ...
- 通过命令行上传代码到GitHub
自工作以来,本人第一次使用GitHub.下面是将本地的项目上传到GitHub的过程.上传代码的前提是:1.已注册GitHub账号:2.本地已安装Git. 第一步:远程Git仓库 进入本地的项目的根目录 ...
- Gmail进程信息转储分析工具pdgmail
Gmail进程信息转储分析工具pdgmail 进程信息转储(Process Memory Dump)是数字取证的重要方式.通过分析对应进程的信息转储,可以获取大量的信息.Kali Linux提供一 ...
- Xamarin XAML语言教程使用方法设置进度条进度
Xamarin XAML语言教程使用方法设置进度条进度 在ProgressBar中定义了一个ProgressTo方法,此方法也可以用来对进度条当前的进行进行设置,ProgressTo与Progress ...
- maven项目中的GroupId和ArtifactId分别是什么含义
转自 创建maven项目是其中的group id和artifact id怎么填写 groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓 ...
- 【Java】java注解@Transient的作用, 配合JPA中时间段的查询
java注解@Transient的作用 @Transient标注的属性,不会被ORM框架映射到数据库中. 用于数据库表字段和java实体属性不一致的时候,标注在属性上使用. 例如时间段的查询 查询 R ...
- UVa 1218 - Perfect Service
/*---UVa 1218 - Perfect Service ---首先对状态进行划分: ---dp[u][0]:u是服务器,则u的子节点可以是也可以不是服务器 ---dp[u][1]:u不是服务器 ...
- 码云的GIT操作
git操作 git initgit add .git commit -m ""git remote add origin https://git.coding.net/jessei ...
- Django——Model的使用
Model使用 首先安装MySQL的python连接驱动,windows下安装可下下载,对应python-2.7: https://code.google.com/p/soemin/downloads ...