0

编写配置文件时,我无法获取要自动完成的列表。标准对象按预期工作。

我已将这两个类都配置为属性:

@SpringBootApplication
@EnableConfigurationProperties(value = {AppProperties.class, EncoderProperties.class})
public class Application {

  public static void main(final String[] args) {

    SpringApplication.run(Application.class, args);
  }
}

我的配置的根

@Data
@AllArgsConstructor
@NoArgsConstructor
@ConfigurationProperties("application")
public class AppProperties {

  private String scanTarget;

  private List<EncoderProperties> encoders;
}

最后,编码器对象

@Data
@AllArgsConstructor
@NoArgsConstructor
@ConfigurationProperties("application.encoders")
public class EncoderProperties {

  private String name;

  private String command;

  private String outputExtension;
}

当我尝试自动完成 application.yaml 文件中的配置时,IntelliJ 将其视为嵌套属性,而不是列表

在此处输入图像描述

我已经多次清理并构建了该项目,但仍然无法将其注册为列表。

我期望能够将编码器列表添加到应用程序根目录。

有什么建议我错过了什么吗?

4

2 回答 2

0

您将始终将其视为属性,但它将作为 yaml 应用。您将其视为属性的原因是您可以看到该特定配置的深度。

于 2021-03-12T11:53:54.087 回答