关于Spring Boot devtools的自动重启功能

概述

如果在使用Spring Boot进行开发的应用程序中集成spring-boot-devtools,将会启用一些方便的功能来提升开发效率。以下是其中之一“自动重启”的设置的总结。

环境

    • Windows10 Professional

 

    • Java 1.8.0_101

 

    • Spring Boot 1.4.1

spring-boot-devtools

请找个例子参考。

    • 20. Developer tools

 

    Appendix A. Common application properties

财产默认值

与DevTools的初始设置有关的类。

    • DevToolsPropertyDefaultsPostProcessor

 

    • DevToolsProperties

 

    RemoteDevToolsProperties

自动重新启动

当将spring boot devtools添加进项目后,它将会生效。
默认情况下,当类路径上的文件发生变化时,应用程序将会重新启动。

激活/停用触发器

默认值为true。

spring:
  devtools:
    restart:
      enabled: true

关于触发器的排除对象(默认)

默认值由DevToolsProperties定义。
符合此处定义的模式的文件不会触发重新启动。

spring:
  devtools:
    restart:
      exclude: <DevToolsPropertiesを参照>

从触发对象中排除(添加)

默认情况下未指定。
如果您想要添加要排除重启触发的模式,请指定。
如果有多个模式,使用逗号分隔。
在此示例中,指定了*.yml、*.xml,因此即使修改了application.yml,应用程序也将不再重启。

spring:
  devtools:
    restart:
      additional-exclude: "**/*.yml, **/*.xml"

将其纳入触发目标之中

默认值未定义。
在除类路径之外的文件中,指定要包含在重启触发器目标中的目录。
如果有多个目录,则在行首加上-并用数组指定。

spring:
  devtools:
    restart:
      additional-paths:
        - src/main/resources/sql

将触发器指定给特定的文件。

在Spring Boot devtools的默认状态下,即使只进行了小的修正,应用程序也会重新启动,可能会降低开发效率。在这种情况下,可以将重新启动的触发器从类路径上的文件更改为特定的文件。

默认未指定。
将重新启动的触发器指定为任意文件。在此示例中,指定了名为.reloadtrigger的文件。
将此文件放置在类路径上(src/main/resources),并且在希望重新启动时修改此文件,应用程序将重新启动。

spring:
  devtools:
    restart:
      trigger-file: .reloadtrigger

请注意。

    • クラスパス上のファイルの変更が無ければトリガーファイルを更新しても再起動しません。

 

    • トリガーファイルはクラスパス上に配置します。クラスパス以外にある場合はadditional-pathsで追加します。

 

    トリガーファイルの変更はIDE上から行わないと検知されないようです。コンソールからファイルを更新しても再起動しませんでした。

全球设定

在中文的情况下,Spring Boot DevTools的设置信息可以通过应用程序的配置文件(application.properties或yml)进行记录。但有时候我们可能希望反映开发者个人的设置。

在这种情况下,可以在用户主目录下创建一个名为.spring-boot-devtools.properties的文件,来记录开发者个人的设置,并通过这个文件来实现反映。

例如

如果在application.properties文件中启用了重新启动功能,但在个人环境中想要禁用它的话

spring.devtools.restart.enabled = false

只需提供一个选项: 在application.properties中,虽然是类路径上的文件作为触发器,但如果想要使用任意文件作为触发器,则可以修改配置文件。

spring.devtools.reload.additional-paths = C:/path/to/directory
spring.devtools.reload.trigger-file = mytrigger

注意事项

    .spring-boot-devtools.ymlというyaml形式では認識されませんでした。
广告
将在 10 秒后关闭
bannerAds