吴裕雄--天生自然SPRINGBOOT开发实战--SpringBoot DevTools
2021/8/15 6:06:38
本文主要是介绍吴裕雄--天生自然SPRINGBOOT开发实战--SpringBoot DevTools,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Spring Boot DevTools Spring Boot 1.3提供了另一个名为Spring Boot DevTools的模块。 DevTools代表 Developer Tool 。该模块的目的是在使用Spring Boot应用程序时尝试并缩短开发时间。 Spring Boot DevTools接受更改并重新启动应用程序。 我们可以通过在pom.xml文件中添加以下依赖项来在我们的项目中实现DevTools。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime<scope > </dependency>
Spring Boot DevTools提供以下功能: 属性默认值 自动重启 LiveReload 远程调试隧道 远程更新和重新启动 属性默认值: : Spring Boot提供了模板技术 Thymeleaf ,其中包含属性 spring.thymeleaf.cache。。缓存并允许我们更新页面,而无需重新启动应用程序。但是在开发过程中设置这些属性总是会带来一些问题。 当我们使用spring-boot-devtools模块时,不需要设置属性。在Thymeleaf,Freemarker,Groovy模板的开发缓存期间,将自动禁用。 注意: 如果我们不想在应用程序上应用属性默认值,可以在application.properties文件中将configprop: spring.devtools.add-properties []设置为false。 自动重启: 自动重启意味着重新加载Java类并在服务器端对其进行配置。服务器端更改后,它会动态部署,服务器会重新启动,并加载修改后的代码。它主要用于基于微服务的应用程序。 Spring Boot使用 两种类型的ClassLoader: 不变的类(三分之二)已加载到基本ClassLoader中。 我们正在积极开发的类已加载到重新启动ClassLoader中。 应用程序重新启动时,重新启动的ClassLoader被丢弃,并填充了一个新的类。因此,基本的ClassLoader始终可用并已填充。 我们可以使用属性 spring.devtools.restart.enabled 设置为 来禁用服务器的自动重启。错误。 记住: DevTools始终监视类路径资源。 触发重启的唯一方法是更新类路径。 DevTools需要单独的应用程序类加载器才能正常工作。默认情况下,Maven派生应用程序进程。 自动重新启动与 LiveReload一起很好地工作。 DevTools依赖于应用程序上下文的关闭挂钩在重新启动期间将其关闭。
LiveReload: Spring Boot DevTools模块包括一个名为 LiveReload的嵌入式服务器。,只要我们在其中进行更改,该应用程序就可以自动触发浏览器刷新。资源。这也称为 自动刷新。 注意: 我们可以通过设置属性 spring.devtools.livereload来禁用LiveReload。启用为 false。 它提供了适用于Chrome,Firefox和Safari的浏览器扩展。默认情况下,启用LiveReload。 LiveReload在以下路径上工作: /META-INF/maven /META-INF/resources /资源 /静态 /public /模板
我们还可以通过排除上述路径来禁用浏览器中的自动重新加载。例如: spring.devtools.restart.exclude=public/**, static/**, templates/** 我们可以使用属性 spring.devtools.restart.additional-paths查看其他附加路径。例如: spring.devtools.restart.additional-paths=/path-to-folder 如果我们要排除其他路径并希望保留默认路径,请使用属性 spring.devtools.restart.additional-exclude。例如: spring.devtools.restart.additional-exclude=styles/** 记住 我们可以一次运行一台LiveReload服务器。 启动应用程序之前,请确保没有其他LiveReload服务器正在运行。 如果我们从IDE启动多个应用程序,则它仅支持第一个LiveReload。 远程调试隧道: Spring Boot可以通过HTTP将JDWP(Java调试线协议)直接隧道到应用程序。它甚至可以将应用程序部署到仅公开端口80和443的Internet Cloud提供商。 远程更新和重新启动: DevTools提供的另一个技巧是: 它支持远程应用程序 更新和 重新启动。它监视本地类路径中的文件更改,并将其推送到远程服务器,然后重新启动。我们还可以将此功能与LiveReload结合使用。
使用触发文件 由于频繁的重启,自动重启有时会减慢开发时间。为了解决这个问题,我们可以使用一个 触发文件。。SpringBoot监视触发文件并检测该文件中的修改。它会重新启动服务器并重新加载所有先前的更改。 我们可以通过添加属性 spring.devtools.restart.trigger-file在我们的应用程序中实现触发文件。是内部的还是外部的。例如: spring.devtools.restart.trigger-file=c:/workspace-sts-3.9.9.RELEASE/restart-trigger.txt
Spring Boot DevTools示例 步骤1: 使用Spring Initializr https://start.spring.io/。 步骤2: 提供 组名称和 工件 ID。我们提供了组名 com.lidihuo 和工件ID spring-boot-devtools-example。 步骤3: 添加以下依赖项: spring-boot-starter-web 和 spring-boot-devtools 。 步骤4: 点击 生成按钮。它将下载项目的 Jar 文件。 步骤5: 提取Jar文件。 步骤6: 将文件夹导入STS。 文件->导入->现有Maven项目->浏览->选择文件夹spring-boot-devtools-example->完成 导入成功后,我们可以在STS的Package Explorer部分中看到以下目录。
步骤7: 打开 SpringBootDevtoolsExampleApplication.java 并将其作为Java应用程序运行。 然后,在应用程序中进行任何更改(编辑或删除一些文件或代码),然后保存所做的更改。保存更改后,服务器将重新启动并获取更改。
这篇关于吴裕雄--天生自然SPRINGBOOT开发实战--SpringBoot DevTools的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南