当前位置: 首页 > 知识库问答 >
问题:

字符串列表的Spring Boot yaml配置

仲璞瑜
2023-03-14
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}"

共有1个答案

辛可人
2023-03-14

我的猜测是,@value不能处理“复杂”类型。你可以使用这样的道具类:

@Component
@ConfigurationProperties('ignore')
class IgnoreSettings {
    List<String> filenames
}

请注意:这段代码是Groovy-而不是Java-以保持示例简短!有关如何采用的提示,请参阅备注。

请参阅完整的示例https://github.com/christoph-frick/so-springboot-yaml-string-list

 类似资料:
  • 问题内容: 如果我有一个字符串列表,例如: 为了摆脱每个字符串中的所有s,我该怎么办?我尝试在for循环中使用或,但是它无法像正常字符串(不在列表中)那样工作。有人有建议吗? 问题答案: 尝试这个:

  • 我对斯卡拉很陌生。我已经开始在spark项目中使用scala。我正在使用一些java代码。下面这句话我就错了。 ) 我的ParseDocumentGuid是java类,其代码如下。 下面是调用上述方法的代码 因此,我的def selectColumnsPerDocdisplayRows()方法出错 类型不匹配;发现:java。util。列表[字符串]必填项:列表[字符串]

  • 问题内容: 我有阵列中的国家/地区列表,我想从列表中选择一个国家/地区(可能是使用随机的?),但是我自己还没有找到答案… 这是我到目前为止所拥有的: 问题答案: 尝试:

  • 两行的一个例子是:([a,b,c],d)和([d,e],a)我想把这些行转换成([a,b,c],[d,e])和([d,e],[a,b,c]) dataframe的列名是“src”和“dst”。 我如何处理这个问题?

  • 我有一个值为-f.e.:。 我想替换这个字符: ,,,,,,,与那些: <代码>>、<代码>>、<代码>l、<代码>o、<代码>s、<代码>z、<代码>c、<代码>n。 这里我的意思是,如果解析器将找到f.e.:char(在第一个列表中是第二个)应该替换为在第二个列表中处于相同位置/位置的char,在本例中是:。 char应替换为char。 char应替换为char。 在我的例子中,要替换的字符列

  • 我使用的是Spring Boot版本1.5.22,因为它与Java 7兼容-传统的东西,博物馆级的,不要使用。 我需要一个字符串数组,其中包含用于Spring Boot的YAML配置中的逗号。问题是,这个旧的Spring Boot并不完全支持所有YAML特性,即阵列的实现有点不规范。 对于其他字符串数组(不包含逗号),我使用以下命令: YAML: Java: 但是,使用逗号时,以下内容要么以空数组