maven工程使用spring-boot-devtools进行热部署,更改代码避免重启web容器
spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。相关Blog: 点击打开链接
原理是在发现代码有更改之后,重新启动应用,但是比速度比手动停止后再启动还要更快,更快指的不是节省出来的手工操作的时间。
其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为 restart ClassLoader
,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间(5秒以内)。
由于devtools仅在 Spring milestone repository. 仓库中提供,而默认的仓库版本是1.2.5.RELEASE,所以需要在POM.XML 文件中配置仓库地址。
- <repositories>
- <repository>
- <id>spring-milestones</id>
- <name>Spring Milestones</name>
- <url>http://repo.spring.io/milestone</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
然后更改parent标签
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>1.3.0.M2</version>
- </parent>
最后添加 模块依赖即可
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-devtools</artifactId>
- </dependency>
至于该模块的使用问题,只要在依赖里面写好了就行了,不需要其他特比的动作,使用示例 点击这里 有一个视频展示,还是蛮清晰的。
特别注意,由于继承的pom.xml版本是1.3.0.M2的,原来依赖里面如果省略version的话,但是在1.3.0.M2里面没有该模块就会报错,这时候只需要手动把依赖的version坐标添加上,写成原来的1.2.5.RELEASE就可以了。
注意点:
1.spring-boot-tools和spring-boot的版本要保持一致
maven工程使用spring-boot-devtools进行热部署,更改代码避免重启web容器的更多相关文章
- IntelliJ IDEA Spring boot devtools 实现热部署
一.spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动部署新代码. 二.原理 使用了两个ClassLoader,一个ClassLoader用来加载那些不会变 ...
- Spring Boot入门系列(十五)Spring Boot 开发环境热部署
在实际的项目开发过中,当我们修改了某个java类文件时,需要手动重新编译.然后重新启动程序的,整个过程比较麻烦,特别是项目启动慢的时候,更是影响开发效率.其实Spring Boot的项目碰到这种情况, ...
- Spring Boot 应用的热部署配置
前言 所谓热部署,简单来说,就是代码修改后不需重启项目就可自动加载出新的内容. 注意:热部署在 debug 调试模式下才生效! IDEA 配置 在 IDE(IDEA)中开启相关项目自动构建选项 开启编 ...
- Maven工程搭建spring boot+spring mvc+JPA
添加Spring boot支持,引入相关包: 1.maven工程,少不了pom.xml,spring boot的引入可参考官网: <parent> <groupId>org.s ...
- Spring Boot 2.0 热部署指南
Spring Boot 2.0 支持热部署,实现方法很简单 Spring Boot 2.0 有几种热重载的选项. 推荐的方法是使用spring-boot-devtools 因为它提供了额外的开发时间功 ...
- Spring Boot 五种热部署方式
[推荐]2019 Java 开发者跳槽指南.pdf(吐血整理)>>> 1.模板热部署 在SpringBoot中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不 ...
- Spring Boot 五种热部署方式,极速开发就是生产力!
1.模板热部署 在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在application.properties中关闭 ...
- spring boot 中的热部署
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>sprin ...
- spring boot入门学习---热部署
1.maven文件 2.application.properties文件配置
随机推荐
- aspcms,2.x以上版本,保护栏目不可删除处理方法
aspcms,2.x以上版本,保护栏目不可删除处理方法.首先找到\admin\_content\_Sort\AspCms_SortFun.asp这个文件.然后将if isnul(id) then a ...
- ftp unable to fetch some archives,maybe run apt-get update or try with -- fix-missing?
引用:http://bbs.csdn.net/topics/340061850 先 apt-get update 再执行安装
- springMVC使用@ResponseBody返回json
json格式:{"totle":22,"rows":"sss"} map格式:{totle=22, rows=sss} 一.springMV ...
- 在jasp页面循环显示
<% int h=3;//行数 int l=3;//列数 %> <table> <% for(int i=0;i<h;i++){ %> <tr> ...
- margin padding
margin and padding有时候可以实现相同的效果但是 用padding的场合更多 2者的区别和用法的细节我还是没掌握好
- 解决ADB server didn't ACK问题,连上手机问题
出现如下情况 ADB server didn't ACK* failed to start daemon * 解决办法: 方法一: (1)查看任务管理器,关闭所有adb.exe,或者运行->cm ...
- WP 手机Lumia 820 锁屏密码的破解研究
Windows Phone lumia 手机锁屏密码的破解研究 大家好今天给大家分享一个最新研究案例, 近日笔者接Nokia Lumia 820, 由于客户密码失误太多,导致锁屏23000余分 ...
- Java面试宝典系列之基础排序算法
本文就是介绍一些常见的排序算法.排序是一个非常常见的应用场景,很多时候,我们需要根据自己需要排序的数据类型,来自定义排序算法,但是,在这里,我们只介绍这些基础排序算法,包括:插入排序.选择排序.冒泡排 ...
- vc6 使用的那些事
VC6.0中Release下调试模式设置 http://blog.csdn.net/wangqinghao/article/details/7730428
- 判断一个 int 向量里是否有相同的数 并且距离在k之内 (2)
class Solution { public: bool containsNearbyDuplicate(vector<int>& nums, int k) { map<i ...