IntelliJ IDEA SpringBoot Thymeleaf 热部署,实现修改java文件和html文件无需手动编译重启即可

 

在使用 Thymeleaf 的时候,修改了 html 文件后,需要重新编译 rebuild 才能生效,这就显得很麻烦了。

 

本文介绍 IntelliJ IDEA 2017 + Thymeleaf 热部署,修改 java 代码和 html 代码都不用重启,IDEA 帮我们自动重新编译。

 

spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。

原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动更快。

其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。

即devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机)

一、开启 idea 自动 build 功能

1、打开设置 --> 查找 build project automatically --> 选中

IntelliJ IDEA SpringBoot Thymeleaf 热部署,实现修改java文件和html文件无需手动编译重启即可

 

2、打开设置 --> 查找Registry --> 找到并勾选compiler.automake.allow.when.app.running

IntelliJ IDEA SpringBoot Thymeleaf 热部署,实现修改java文件和html文件无需手动编译重启即可

最后重启idea

 

如果你的 IDEA 比较新,可能找不到这个

那就 如下图

IntelliJ IDEA SpringBoot Thymeleaf 热部署,实现修改java文件和html文件无需手动编译重启即可

 

然后关闭设置,按上面设置的快键键,如 Command + Shift + M

找到并勾选compiler.automake.allow.when.app.running

IntelliJ IDEA SpringBoot Thymeleaf 热部署,实现修改java文件和html文件无需手动编译重启即可

 

最后重启idea

 

二、使用 spring-boot 开始有的热部署功能

1、在 pom.xml 里添加spring-boot-devtools 依赖

  1. <!-- hot swapping, disable cache for template, enable live reload -->
  2. <dependency>
  3.     <groupId>org.springframework.boot</groupId>
  4.     <artifactId>spring-boot-devtools</artifactId>
  5.     <optional>true</optional>
  6. </dependency>

 

2、开启热部署

在 pom.xml 最后一个 </project> 标签之前插入如下代码

  1. <build>
  2.     <plugins>
  3.         <plugin>
  4.             <groupId>org.springframework.boot</groupId>
  5.             <artifactId>spring-boot-maven-plugin</artifactId>
  6.                <configuration>
  7.                    <fork>true</fork>
  8.                </configuration>
  9.         </plugin>
  10.     </plugins>
  11. </build>

 

3、application.properties 里添加

  1. spring.devtools.restart.enabled=true

 

三、Chrome禁用缓存

右键审查元素或者检查或者快捷键 F12 ,

IntelliJ IDEA SpringBoot Thymeleaf 热部署,实现修改java文件和html文件无需手动编译重启即可

 

至此,在idea中就可以愉快的修改代码了,修改后可以及时看到效果,无须手动重启和清除浏览器缓存。

测试方法:

1.修改类-->保存:应用会重启

2.修改配置文件-->保存:应用会重启

3.修改页面-->保存:应用会重启,页面会刷新(原理是将spring.thymeleaf.cache设为false)

不能使用分析:

1.对应的spring-boot版本是否正确,我这里使用的是1.5.3.RELEASE版本;

2.是否加入plugin了,以及属性<fork>true</fork>

3.Intellij IDEA是否开启了Make Project Automatically。

4.如果设置SpringApplication.setRegisterShutdownHook(false),则自动重启将不起作用。

快捷键

1. 代码操作相关的快捷键

快捷键功能
Ctrl+Y删除一行
Ctrl+W选择光标所在行或者代码片(光标在大括号上),连续按会有其他效果
Ctrl+Z撤销操作
Ctrl+Shift+Z恢复Ctrl+Z撤销的操作
Alt+Enter引入类或提供给你选择的处理方法
Alt+Shift+上下代码向上/下移动一行
Alt+/复制上一个单词
Ctrl+Shift+Enter自动补全分号
Ctrl+Shift+V粘贴板历史
Ctrl+Alt+M将代码片段提取成为一个方法
Ctrl+G按行号和列号来查找
Ctrl+Alt+L格式化代码(和QQ快捷键冲突)
Ctrl+Shift+Space自动补全代码
Ctrl+空格代码提示
Ctrl+Alt+Space类名或接口名提示

2. 查找相关的快捷键

快捷键功能
Ctrl+F在本文件查找,可通过方向键移动选择,按Esc消失
Ctrl+R在本文件内查找/替换 ,可选择 replace 和 replaceAll,按Esc消失
Ctrl+Shift+F在制定路径/模块/工程内查找(全局查找)
Ctrl+N在本工程类查询某个类
Ctrl+Shift+N查询某个类(不限本工程)看源码很实用,比如我想看看jdk里面TreeMap这个类的代码,就可以用这个功能

3.查看代码相关的快捷键

快捷键功能
Ctrl+H查看一个类的继承关系
Ctrl+B查看一个类或者变量的申明
Alt+F7查找一个属性或方法被谁调用
Alt+上下跳到上/下一个方法(或属性)
Ctrl+上下上下滑屏但是不移动光标
Alt+左右同时打开多个文件时切换代码视图,切换到另一个文件视图
Ctrl+Alt+ 左右返回至上次浏览的位置 非常实用,在多个文件代码中遨游的时候能够快速回到想去的位置
Ctrl+HOME/END光标跳转到第一行或最后一行
ALT+SHIFT+C最近修改的代码

4.提示类的快捷键

快捷键功能
Ctrl+Q显示注释文档
Ctrl+P查看函数参数(光标在方法参数的括号内)
Ctrl+J代码模板

5.重构类快捷键

快捷键功能
Alt+Delete安全删除字段或方法
Ctrl+Alt+N去除一些多余的赋值过程或者函数 下面会单独演示
Shift+F6重命名类或者变量

6.编译器相关快捷键

快捷键功能
Alt+F12打开命令行终端
Alt+1打开工程结构
Alt+7打开类结构
Alt+9打开change

7.debug快捷键

快捷键介绍
F7在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中
F8在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
F9在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上
Alt + F8在 Debug的状态下,选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果
Ctrl + F8在 Debug模式下,设置光标当前行为断点,如果当前已经是断点则去掉断点
Shift + F7在 Debug模式下,智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法
Shift + F8在 Debug 模式下,跳出,表现出来的效果跟 F9 一样
Ctrl + Shift + F8在 Debug 模式下,指定断点进入条件
Alt + Shift + F7在Debug模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入

8.启动相关

快捷键介绍
Ctrl + F9Build Project build整个项目
Shift + F9项目以Debug模式进行启动当前项目
Shift + F10项目以Run模式进行启动当前项目
Alt + Shift + F10以Run模式进行启动某个项目 ,项目可选
Alt + Shift + F10以Run模式进行启动某个项目 ,项目可选
Ctrl + F2停止当前运行的项目
Ctrl + Shift + F2停止后台进程

9.版本控制操作相关

快捷键介绍
Ctrl + ALT + A添加文件到版本控制
Ctrl + Tupdate当前项目
Ctrl + K提交当前项目的文件改动
Ctrl + Shift + K将已经提交的版本push到远程服务器
Ctrl + ALT + Z撤销本地更改
Ctrl + ALT + Shift + D查看本地文件更改内容

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IntelliJ IDEA 是一款受欢迎的Java集成开发环境(IDE),提供了许多有用的插件和功能。其中之一是JRebel插件,它可以实现对静态资源文件热部署,包括JavaScript和CSS文件等。 JRebel是一款基于Java虚拟机(JVM)的热部署工具,可以在不重新启动应用程序的情况下,对代码和静态资源文件进行修改和重新加载。这意味着,你可以在修改JavaScript或CSS文件后,立即在浏览器中看到变化,而不需要手动刷新页面或重新启动应用。 在使用IntelliJ IDEA时,你可以通过以下步骤来配置和使用JRebel插件: 1. 首先,确保你已经安装了JRebel插件。你可以在IntelliJ IDEA的插件市场中搜索JRebel,并进行安装。 2. 安装完成后,打开IntelliJ IDEA的设置(Preferences)窗口。在左侧的面板中,选择JRebel选项。 3.在JRebel设置页面中,你可以配置JRebel的路径和其他选项。根据你的需求进行相应的设置。 4. 接下来,你需要在你的项目中启用JRebel。这可以通过修改项目的配置文件或通过IntelliJ IDEA的界面来完成。 5. 一旦你启用了JRebel,它将自动监测你的项目中的静态资源文件的变化,并在变化发生时进行热部署。这意味着,你可以立即在浏览器中看到你对JavaScript或CSS文件所做的修改。 总而言之,IntelliJ IDEA的JRebel插件是一种强大的热部署工具,可以提高开发效率。它可以实现对静态资源文件的即时修改和重新加载,让你的开发过程更加高效和流畅。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值