图解Spring Boot热部署(二)

图解Spring Boot热部署之devtools

什么是热部署

引用百度百科热部署

所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。
对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。大多数基于Java的应用服务器,包括EJB服务器和Servlet容器,都支持热部署。类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装入器实例,就可以将类再次装入一个正在运行的应用程序。
Tomcat的热部署
Tomcat的热部署(以后就不用重启了)
没有热部署和有热部署的开发效率是天差地别的。这个问题还受很多第三方软件包(Struts,Spring,Hibernate)的限制。本来可以热部署,加入了第三方的包就不可以了。所以,先说明详细的软件环境,和程序配置是非常必要的。

简单来说,热部署就是我们再修改代码的时候不需要重启toncat或者主方法,相信大家在以前写代码,每次做测试找bug都要进行大量的各种重启,浪费了很多时间与精力,使用热部署大大降低了开发成本,提高了开发速度,让我们更有精力的去做其他逻辑

1.引入pom相关依赖

紧接着上个项目,在pom.xml中添加以下依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
 </dependency>

2.修改配置

1.File>settings>Build,Execution,Deployment>Compiler下勾中Build Project automatically点击apply
在这里插入图片描述
2.ctrl+alt+shift+/点击Registry找到compiler.automake.allow.when.app.running勾选
在这里插入图片描述

注意:不要点击Restore Defaults 这个是恢复默认值的,勾选上就ok

3.修改controller且不重新运行main方法

package com.lkp.helloword.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/hello")
public class hello {

    @RequestMapping("/index1")
    public String index(){
        return "helloword";
    }
}

index后面加了个1,不去重启main方法我们再去测试不加1之前的看看能不能正常访问
在这里插入图片描述
现在我们访问的地址是不加1的,报错就说明我们的热部署生效了,我们没办法再去访问之前的路径,我们再去访问加了1的

在这里插入图片描述
可以看到从头到尾我们没有做任何重启相关的操作,只是加了依赖和配置了两处地方,我们任意修改它都是没有任何问题的,这样是不是大大简化了我们的开发呢,让我们更加关注的点是在业务逻辑而不是重启配置等

接下来会慢慢更新,尽可能的照顾零基础Spring Boot的朋友,这一系列博客是为了让没有SpringBoot基础的朋友快速入门谢谢!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值