- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
Spring Boot 使我们能够快速设置和运行服务。为了进一步增强开发体验,Spring 发布了 spring-boot-devtools 工具——作为 Spring Boot-1.3 的一部分。本文将尝试介绍使用新功能可以获得的好处。
在项目中添加 spring-boot-devtools
就像添加任何其他 spring-boot 模块一样简单。在现有的 spring-boot 项目中,添加以下依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
对项目进行干净的构建,您现在已与 spring-boot-devtools 集成。可以从这里获取最新版本,所有版本都可以在这里找到。
Spring-boot 做了很多自动配置,包括默认启用缓存以提高性能。一个这样的例子是模板引擎使用的模板的缓存,例如百里香。但在开发过程中,尽快看到变化更为重要。
可以使用 application.properties 文件中的属性 *spring.thymeleaf.cache=false
*为 thymeleaf 禁用缓存的默认行为。我们不需要手动执行此操作,引入此 spring-boot-devtools 会自动为我们执行此操作。
在典型的应用程序开发环境中,开发人员会进行一些更改、构建项目并部署/启动应用程序以使新更改生效,或者尝试利用 JRebel 等。
使用 spring-boot-devtools
, 这个过程也是自动化的。每当类路径中的文件发生更改时,使用 spring-boot-devtools
的应用程序都会导致应用程序重新启动。此功能的好处是验证所做更改所需的时间大大减少:
spring-boot-devtools
模块包含一个嵌入式 LiveReload 服务器,用于在资源更改时触发浏览器刷新。
为了在浏览器中发生这种情况,我们需要安装 LiveReload 插件,其中一种实现是用于 Chrome 的 Remote Live Reload。
spring-boot-devtools
提供了一种配置不与任何应用程序耦合的全局设置的方法。此文件名为 .spring-boot-devtools.properties,位于 $HOME
。
spring-boot-devtools
通过 HTTP 提供开箱即用的远程调试功能,要拥有此功能,需要将 spring-boot-devtools 作为应用程序的一部分打包。这可以通过在 maven 的插件中禁用 excludeDevtools 配置来实现。
这是一个快速示例:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludeDevtools>false</excludeDevtools>
</configuration>
</plugin>
</plugins>
</build>
现在要通过 HTTP 进行远程调试,必须采取以下步骤:
-Xdebug -Xrunjdwp:server=y,transport=dt_socket,suspend=n
1、我们可以看到,这里没有提到远程调试端口。因此,java会选择一个随机端口
spring.devtools.remote.debug.local-port=8010
远程客户端监视应用程序类路径的更改,就像远程重启功能所做的那样。类路径中的任何更改都会导致将更新的资源推送到远程应用程序并触发重新启动。
当远程客户端启动并运行时会推送更改,因为只有在那时才能监视更改的文件。
通过这篇快速文章,我们刚刚展示了如何利用 spring-boot-devtools 模块通过自动化大量活动来改善开发人员体验并缩短开发时间。
语境 对于我的许多 js 文件,我没有源映射。当使用 devtools 控制台时,它会污染有关的警告。我不想关闭所有警告,但那些对我来说并不是真的有用 问题 如何抑制 Chrome DevTools
我有这个 Chrome DevTools 颜色选择器问题,当我将停靠位置更改为 时,吸管不起作用。底部 .默认设置在右侧,颜色选择器吸管工作正常,但当我改变位置时就不行了。有什么设置吗?因为我无法从
如图所示,我想知道是否有键盘快捷键可以逐个或批量关闭这些选项卡 最佳答案 AltW 或 OptW (Mac) 关闭事件选项卡。见 Sources panel keyboard shortcuts .
我正在测试我的 HTML 的可访问性。在使用 TAB 键导航 HTML 时,焦点环有时会消失,因为具有焦点的元素被隐藏了。那时我不知道哪个 DOM 元素有焦点。 有没有一种方法可以在 Chrome D
我正在使用 ios-webkit-debug-proxy 和 remotedebug-ios-webkit 适配器从 Linux 上的 Chrome Devtools 调试运行 Safari 的 IO
尝试运行 Nativescript 调试 session ,每次我输入 chrome-devtools://devtools/bundled/inspector.html?experiments=tr
看起来渲染设置不像以前那样(即启用绘画闪烁、显示图层边框、显示 FPS 表、显示滚动性能问题)。 我怎样才能再次访问这些功能? 最佳答案 渲染设置已从 移动 Chrome 48 .您现在可以通过三点菜
我正在使用 devtools 调试一个大的 DOM: 我想为这个 div 添加“书签”,这样我就可以轻松地再次跳转到它。 如果此书签能够在页面重新加载后继续存在,那就太好了。 有办法吗? 最佳答案 我
我想弄清楚为什么我的应用程序性能很差。所以我在 DevTools 中做了一个性能记录,我可以看到帧通常需要大约 150 毫秒,这太长了。 但是我不明白为什么框架需要这么多时间。有一些 javascri
我正在使用 devtools 调试一个大的 DOM: 我想为这个 div 添加“书签”,这样我就可以轻松地再次跳转到它。 如果此书签能够在页面重新加载后继续存在,那就太好了。 有办法吗? 最佳答案 我
我希望在页面刷新时打开 DevTools 是很常见的。我可以使用 DevTools 从一开始就调试该页面吗? 最佳答案 您可以远程调试自己的 Chrome 实例,以获得每个页面的完整 DevTools
我经常使用控制台来输入和评估表达式。很多时候我是错误的并且捏造了一些表达式名称。这样做之后,chrome devtools 控制台将自动完成并提示我的一些错误输入。 有没有办法清除控制台历史建议? 最
如果我打开 google DevTools 我找不到时间轴面板 如此处所述: 根本没有标签。怎么了? 我在 Windows 7 和 Chrome 61.0.3163.91 最佳答案 时间轴面板现在称为
Google Chrome Devtools 中的事件监听器断点提供了多种选择,但对我来说,它们并不是很有用,因为它们总是让我陷入代码的一些不相关部分。 我想知道是否可以将其限制为仅一类?例如 onM
Chrome 开发工具过去常常为我按字母顺序在“范围” Pane 中显示属性。例如,请参阅此处有关“Google Chrome 中源选项卡中的范围”的屏幕截图:https://dev.to/shado
我尝试使用 Chrome DevTools 为 Android 应用程序执行 SQL 查询,但这是不可能的,因为输入按钮将光标移动到下一行而不是执行命令。前一段时间它起作用了。 我重新安装了 Chro
我有相对简单的 webpack 配置文件(如下): module.exports = { entry: "./src/main.js", output: { filen
我有这个简单的代码 input:hover{border: 3px solid blue;} 预期行为:当我将鼠标悬停在输入上时,新样式应该出现在 devtools 样式部分,但它仅在我通过 dev
documentation说“每次打开 DevTools 窗口时都会创建扩展的 DevTools 页面实例。DevTools 页面在 DevTools 窗口的生命周期内存在。” 然而,Facebook
我有一个页面,其中我使用 morris.js 插件显示 23 个 donut chart 。在性能分析期间,我遇到了这个: 当然还有 22 个以上的警告。结果时间为 401 毫秒。 我对每个 donu
我是一名优秀的程序员,十分优秀!