IDEA下使用Spring Boot热加载的实现
作者:goody9807
你是否遇到过这样的困扰:
当你写完一段代码后,要看到效果,必须点击IDEA的停止按钮,然后再次重启启动项目,你是否觉得这样很烦呢?
如果你觉得很烦,本文就是用来解决你的问题的。
俗话说:细节决定成败,虽然这个看起来是一件很小的事情,但算起来他也影响了工作效率,解决了这个热加载或者叫热部署的问题,你的工作效率不止提高10倍。
让我们来算一笔账,我们的项目启动时由于要加载一些中间件如:rabbitmq、Zebra、crane等,每次启动需要大概花费2分钟以上的时间,我们修改后台类代码的时候就需要重启服务,每天大概就算重启30次,一天至少花费1个小时的时间,一个月就浪费30个小时,如果解决了这个问题,那就是每天节省了1个小时的时间。
言归正传,说下如何实现热加载,分以下3个主要步骤实现,第4个步骤如果是前后端分离没有必要设置。
1、加Maven依赖(使用SpringBoot-1.3开始有的热部署功能)
1.1、修改Pom文件
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
2、开启热部署
2.1、修改Pom文件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork>//该配置必须 </configuration> </plugin> </plugins> </build>
3、修改IDEA设置
打开 Settings --> Build-Execution-Deployment --> Compiler
,将 Build project automatically.
勾上。
点击 Help --> Find Action..
,或使用快捷键 Ctrl+Shift+A
来打开 Registry...
,将 其中的compiler.automake.allow.when.app.running
勾上。
全部设置完毕,重启一下IDEA。
现在你就不必每次都手动的去点停止和启动了。
3.1、如果还是不行 ,请注意这几个地方的设置
Compiler
,将 Build project automatically.
勾上。
另外点击 Help --> Find Action..
,或使用快捷键 Ctrl+Shift+A
来打开 Registry (注意是不带点的)
里面也有个Compiler,需要将 Build project automatically.
勾上。
4、Chrome禁用缓存 【可选】
F12(或Ctrl+Shift+J或Ctrl+Shift+I)--> NetWork --> Disable Cache(while DevTools is open)
至此,在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),则自动重启将不起作用。
到此这篇关于IDEA下使用Spring Boot热加载的实现的文章就介绍到这了,更多相关IDEA Spring Boot热加载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!