专栏首页SpringBoot图文教程SpringBoot图文教程13—SpringBoot+IDEA实现代码热部署

SpringBoot图文教程13—SpringBoot+IDEA实现代码热部署

前言

代码开发最爽的技巧有哪些?代码热部署一定是其中之一。

想想一下,昏暗的灯光下,凌晨一点的你正在写着代码,思路如尿崩,写代码肆意顺畅,但是这个时候,你为了测试代码需要频繁的手动重启项目。这是一种何种的卧草,顺畅的思路被手动启动项目分割的支离破碎。

介个时候,你最需要的不是一颗平和的心,而是一个 代码热部署 的技巧,代码写完让它自动部署到项目上,而你思路专注代码再也不用为重启项目费心。哎 这样的凌晨一点该是多么的惬意。

SpringBoot + IDEA 开启代码热部署

1.导入 devtools 的依赖到项目中

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

2.在pom文件中添加插件配置

<plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <configuration>
              <fork>true</fork>
              <addResources>true</addResources>
          </configuration>
      </plugin>

3.开启IDEA自动编译

windows 版本IDEA 配置

Mac 版本IDEA 配置

4.开启运行时编译

通过快捷键打开如下页面,将图中标注部分打钩即可

windows快捷键:ctrl+shift+Alt+/ mac快捷键:command+shift+A 搜索 Registry

5.重启IDEA

测试热部署效果

在项目中写入一个 AdminController 代码如下:

@Controller
@RequestMapping("admin")
public class AdminController {

    @RequestMapping("getAdmin")
    @ResponseBody
    public String getAdmin(){
        return "SpringBoot 好";
    }
}

启动项目,清空控制台,然后访问 http://localhost:8802/admin/getAdmin 可以看到页面

然后我们修改Controller代码

这时候注意观察IDEA的控制台,修改代码之后稍等两秒会看到控制台打印出了新的内容,这是热部署重新编译部署代码打印的内容。

这个时候,再次访问 http://localhost:8802/admin/getAdmin 就可以看到修改后的页面

总结

恭喜你完成了本章的学习,为你鼓掌!如果本文对你有帮助,请帮忙点赞,评论,转发,这对作者很重要,谢谢。

让我们再次回顾本文的学习目标

  • 掌握SpringBoot中热部署的使用

要掌握SpringBoot更多的用法,请持续关注本系列教程。

本文分享自微信公众号 - 鹿小洋的Java笔记(lulaoshiJava),作者:鹿老师

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 最适合新手入门的SpringCloud教程 7—OpenFeign「F版本」

    上一篇使用了RestTemplate的服务调用,但是有一些问题:通过RestTemplate发送请求时候,携带参数比较的繁琐,另外RestTemplate中需要...

    鹿老师的Java笔记
  • SpringBoot图文教程17—上手就会 RestTemplate 使用指南「Get Post」「设置请求头」

    问个问题:通过Java代码怎么发送Http请求,请求另一个Java程序的Controller方法呢?

    鹿老师的Java笔记
  • 「2020最新」Spring最易学习教程 3— 代理设计模式 Spring AOP 动态代理原理

    在程序中,Action(租客) 和 Serivce(房东) 的矛盾,也可以通过添加一个代理类解决。

    鹿老师的Java笔记
  • 代码块总结

    这种形式的程序段我们将其称之为代码块,所谓代码块就是用大括号({})将多行代码封装在一起,形成一个独立的数据体,用于实现特定的算法。一般来说代码块是不能单独运行...

    栋先生
  • 让人改变行动的3个说服原则 | Tali Sharot | TEDxCambridge

    注意!本文所有内容都是作者根据Tali Sharot所讲内容归纳而成,不代表Tali Sharot本人立场。

    mwangblog
  • 你不就是加了 2 行代码,为什么要用 2 天?

    英文:Matt Lacey, 翻译:程序员的那些事(id:iProgrammer)

    小小詹同学
  • 什么是链表?

    链表是数据结构之一,其中的数据呈线性排列。在链表中,数据的添加和删除都较为方便,就是访问比较耗费时间。

    武培轩
  • iOS GCD定时器

    大壮
  • LVS负载均衡群集--NAT+DR模式

    L宝宝聊IT
  • 关于String的问题

    String是在代码中非常常见的一种数据类型.它能直接像基本类型一样直接赋值(String str = "test"),也能像引用类型一样创建一个实例(Stri...

    用户1148394

扫码关注云+社区

领取腾讯云代金券