Spring Boot DevTools2025年1月17日 | 阅读时长:4分钟 Spring Boot 1.3 提供了另一个名为 Spring Boot DevTools 的模块。DevTools 代表开发工具。该模块的目标是在使用 Spring Boot 应用程序时尝试缩短开发时间。Spring Boot DevTools 会获取更改并重新启动应用程序。 我们可以通过在 pom.xml 文件中添加以下依赖项来在我们的项目中实现 DevTools。 Spring Boot DevTools 功能Spring Boot DevTools 提供以下功能
属性默认值: Spring Boot 提供了模板技术 Thymeleaf,其中包含属性 spring.thymeleaf.cache。 它会禁用缓存并允许我们更新页面,而无需重新启动应用程序。 但在开发期间设置这些属性总是会产生一些问题。 当我们使用 spring-boot-devtools 模块时,我们不需要设置属性。 在开发期间,Thymeleaf、Freemarker、Groovy 模板的缓存会被自动禁用。 注意:如果我们不想在应用程序上应用属性默认值,我们可以在 application.properties 文件中将 configprop:spring.devtools.add-properties[] 设置为 false。自动重启: 自动重启意味着重新加载 Java 类并将其配置在服务器端。 在服务器端更改后,它会被动态部署,服务器会重启,并加载修改后的代码。 它主要用于基于微服务的应用程序。 Spring Boot 使用 两种 ClassLoader
当应用程序重新启动时,restart ClassLoader 会被抛弃,并填充一个新的 ClassLoader。 因此,base ClassLoader 始终可用并被填充。 我们可以通过将属性 spring.devtools.restart.enabled 设置为 false 来禁用服务器的自动重启。 请记住
LiveReload: Spring Boot DevTools 模块包含一个名为 LiveReload 的嵌入式服务器。 它允许应用程序在我们更改资源时自动触发浏览器刷新。 它也被称为 自动刷新。 注意: 我们可以通过将属性 spring.devtools.livereload.enabled 设置为 false 来禁用 LiveReload。 它为 Chrome、Firefox 和 Safari 提供了浏览器扩展程序。 默认情况下,LiveReload 已启用。 LiveReload 在以下路径上运行
我们还可以通过排除上述路径来禁用浏览器中的自动重新加载。 例如 我们可以使用属性 spring.devtools.restart.additional-paths 查看其他附加路径。 例如 如果我们要排除其他路径并保留默认值,则使用属性 spring.devtools.restart.additional-exclude。 例如 请记住
远程调试隧道: Spring Boot 可以通过 HTTP 将 JDWP(Java 调试线协议)直接隧道传输到应用程序。 甚至可以在仅公开端口 80 和 443 的 Internet 云提供商上运行应用程序部署。 远程更新和重启: DevTools 提供的另一个技巧是:它支持远程应用程序 更新 和 重启。 它会监视本地类路径的更改文件,并将它们推送到远程服务器,然后该服务器会重启。 我们也可以将此功能与 LiveReload 结合使用。 使用触发文件由于频繁的重启,自动重启有时会降低开发时间。 为了解决这个问题,我们可以使用 触发文件。 Spring Boot 会监视触发文件并检测该文件中的修改。 它会重启服务器并重新加载所有之前的更改。 我们可以通过添加属性 spring.devtools.restart.trigger-file 来在我们的应用程序中实现触发文件。 该文件可以是内部文件或外部文件。 例如 Spring Boot DevTools 示例步骤 1: 使用 Spring Initializr https://start.spring.io/ 创建一个 Maven 项目。 步骤 2: 提供 Group 名称和 Artifact Id。 我们提供了 Group 名称 com.javatpoint 和 Artifact Id spring-boot-devtools-example。 步骤 3: 添加以下依赖项: spring-boot-starter-web 和 spring-boot-devtools。 步骤 4: 点击 Generate 按钮。 它会下载项目的 Jar 文件。 步骤 5: 提取 Jar 文件。 步骤 6: 将文件夹导入 STS。 导入需要时间。 文件 -> 导入 -> 现有 Maven 项目 -> 浏览 -> 选择文件夹 spring-boot-devtools-example -> 完成 当项目导入成功后,我们可以在 STS 的 Package Explorer 部分看到以下目录。 ![]() 步骤 7: 打开 SpringBootDevtoolsExampleApplication.java 并将其作为 Java 应用程序运行。 之后,对应用程序进行任何更改(编辑或删除一些文件或代码),并保存这些更改。 一旦我们保存了更改,服务器就会重新启动并获取更改。 ![]() |
我们请求您订阅我们的新闻通讯以获取最新更新。