我正在尝试从application.yml文件中加载字符串数组。这是配置:
application.yml
ignore: filenames: - .DS_Store - .hg
这是课程:
@Value("${ignore.filenames}") private List<String> igonoredFileNames = new ArrayList<>();
同一个类中还有其他配置可以很好地加载。我的 YAML 文件中没有选项卡。不过,我得到以下异常:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'ignore.filenames' in string value "${ignore.filenames}"
我的 猜测 是,@Value无法应对“复杂”类型。您可以使用这样的道具类:
@Value
@Component @ConfigurationProperties('ignore') class IgnoreSettings { List<String> filenames }
请注意: 此代码是 Groovy - 不是 Java - 以保持示例简短!有关如何采用的提示,请参阅评论。
查看完整示例https://github.com/christoph-frick/so-springboot-yaml-string- list