使用devtools在Spring开发中实现及时预览
顾名思义,DevTools 为 Spring 开发人员提供了一些方便的开发同步工具。其中包含:
- 当代码更改时自动重启应用程序
- 当以浏览器为目标的资源(如模板、JavaScript、样式表等)发生变化时,浏览器会自动刷新
- 自动禁用模板缓存
- 如果 H2 数据库正在使用,则在 H2 控制台中构建
一般来说,使用SpringInitializer生成的DevTools的pom依赖是这样的
1
2
3
4
5
6
7
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
Scope 设置为运行时,optional 设置为 true,这意味着它不会被传递到依赖项中且不会被打包到最终的 jar 中。这是因为 DevTools 仅用于开发目的,因此在部署生产环境时禁用它本身是非常明智的。 此外DevTools不是IDE 插件,即DevTools不要求特定的 IDE
参考自 StackOverflow
在idea中使用DevTools所需要的额外配置
- Settings -> Build, Execution, Deployment -> Compiler: Check “Build project automatically”
- Settings -> Advanced Settings: Check “Allow auto-make to start even if developed application is currently running”
使用liveReload功能所需要的额外工作
(Chrome浏览器)下载LiveReload拓展程序 当启动项目后,鼠标悬浮在LiveReload图标上,应该显示”LiveReload is connected, click to disable Has access to this site”.
最终的LiveReload效果不像前端开发流程中的那么快,一般要等1-2秒左右
This post is licensed under CC BY 4.0 by the author.