Spring Boot 的热部署方式 (SpringLoader,DevTools工具)

1. 什么spring boot热部署能力:在服务不停止的情况下完成项目的部署处理

2. 回顾现在编码时遇到的现象,每次我的代码发生改变了,我想看到改变以后的结果,我必须要将项目重新部署到服务当中,然后将项目重新启动,然后再通过浏览器访问。

3. 使用spring boot的热部署能力来做部署处理,当项目修改完后就不需要人为地去做部署

修改pom文件

 创建一个controller

log中没有打印出showPage...............想要立即看到修改完毕以后的效果,必须重新启动才能看到log信息--------------------------使用spring loader热部署插件之前

使用spring Loader进行热部署

方法一:以maven插件方式使用springLoader

 打开pom.xml文件,配置springLoader插件

已经开始springLoader插件的配置,但是并没有看到工作效果

使用maven的命令来启动:spring-boot:run

如何运行这个命令:

删除controller和index

页面没有变化,但是控制台已经改变,说明springLoader已经生效

springLoader缺陷:就是java代码做处理,但是对页面无能为力。

当关掉项目,再启动这个项目的时候,后台却报错了,”端口抢占“错误

注意:这种方式的缺点是springLoader热部署程序是在系统后台以进程的形式来运行。需要手动关闭该进程。

在任务管理器当中找到java.exe *32的进程,然后结束进程停止springLoader,然后再去启动tomcat服务器

方式二:在项目中直接使用jar包的方式

添加springLoader的jar与我们的项目做一个整合

启动方式:

关闭服务:当再次启动服务器的时候,不会有什么java的进程出现

 SpringLoader与DevTools的区别:

springLoader在部署项目时使用的是热部署的方式。

DevTools在部署项目时使用的是重新部署的方式。

当其他项目继承这个项目的时候,添加optional值为true的时候。说明这个dependency是不向下传递的。

添加aaa保存之后,稍等一会,控制台输出启动信息,说明修改的项目重新放到tomcat中,并且将tomcat做重新启动

devTools页面并不会重新部署,但是修改后会显示出来,不会在控制台打印出来。

 

posted @ 2019-03-09 01:42  愿世界对你温柔相待  Views(91)  Comments(0)    收藏  举报