随着微服务的遍地开花,SpringBoot成了框架中的一颗耀眼明星。在还没有接触SpringBoot的一段时间内,一直认为Spring已经是和轻量级的框架, 即使编程过程中需要配置的内容比较繁琐,但也是使用一段时间后才会有的感触。就像ecplise的出现扼杀了netBeans,IDEA的出现也撼动了ecplise的霸主地位。新的事物或者方式方法出现体现了行业的活力,也使从业者能不断注入新鲜的血液,更能适行业的发展。以下是学习的过程中,其实写博客更像是一种学习笔记吧。
- Springboot经典入门——踏进去的第一脚(基本概念及入门案例)
- Springboot经典入门——刨根问底(起步依赖和自动配置原理分析)
- Springboot经典入门——配置文件解读
- Springboot经典入门——整合mybatis和Junit
- SpringBoot经典入门——热部署(亲测实用版)
在开发过程中,由于平凡的修改代码及测试,总是需要重启项目,而SpringBoot提供了一种更节省效率的方法,在修改完代码之后不用重启应用就可以直接验证修改内容,也就是热部署。热部署的方式有很多中,比如:
- 修改服务器配置,使得IDEA窗口失去焦点时,更新类和资源 ;加载缓慢
- 使用jar包-springloaded jar
- 使用SpringBoot自带的开发者工具spring-boot-devtools,只支持SpringBoot项目
- 使用插件:Jrebel,收费但是功能强大
平时最常用的是第三种spring-boot-devtools,这里也只介绍spring-boot-devtools
使用spring-boot-devtools
其实使用方式非常简单,只需要在pom文件引用依赖和设置插件属性,如下:
<!--热部署配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional><!--非必须-->
<scope>true</scope><!--非必须-->
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork><!--必须设置-->
</configuration>
</plugin>
</plugins>
</build>
热部署不生效:设置idea自动编译
但在实际使用时,总会遇到问题,比如热部署不生效,很可能是idea未开启自动编译。尤其是初使用idea的时候,踩了不少坑,才知道idea不会设置自动加载,需要手动设置,一共是两个步骤:
(1).进入setting——>Buil,Execution,Deployment——>Compiler——>Build project automaically(勾选)
(2)按快捷键Ctrl+Shift+Alt+/,选择1.Registry...,选择如下:Registry中如果有修改内容会变蓝色并且会置顶。
勾选:compiler.automake.allow.when.app.running
设置:compiler.automake.psdtpone.when.idle.less.than 的默认值是3000,可以适当调整,减少等待时间。
最后重启idea,提交效率开始起飞。