Spring @Value String[]的默认值

问题描述 投票:0回答:3

我想知道如何为 String[] 设置默认值。

@Value("${blacklist}")
private String[] blacklist;

在运行时,列表是通过我的 application.yml 填充的。在测试用例中它是

null
,我不会为每个测试用例设置任何值。 此外,如果 application.yml 中没有条目,它必须是一个空数组。

用途:

for (String varToRemove : blacklist) {
        vars.remove(varToRemove );
 }

请不要回答“为什么你不直接对它进行空检查?”。我想知道如何设置默认值:)

java spring annotations
3个回答
4
投票

我太专注于注释,以至于忘记了最简单的方法(它有效):

@Value("${blacklist:}")
private String[] blacklist= new String[0];

2
投票

这样的事情应该有效:

@Value("#{blacklist ?: '1,2,3'}")

摘自:https://www.mkyong.com/spring3/spring-value-default-value/


0
投票

@Value("${黑名单:aa,bb,cc}") 私有字符串[]黑名单;

© www.soinside.com 2019 - 2024. All rights reserved.