【问题标题】:Spring @Value default value for String[]String[] 的 Spring @Value 默认值
【发布时间】:2017-06-13 09:14:34
【问题描述】:

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

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

在运行时,列表通过我的 application.yml 填充。在测试用例中是null,我不会为每个测试用例设置任何值。 此外,如果 application.yml 中没有条目,则它必须是一个空数组。

用法:

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

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

【问题讨论】:

    标签: java spring annotations


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      这样的事情应该可以工作:

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

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

      【讨论】:

      • 也找到了这个页面,但对我不起作用。但是看,我找到了答案!
      • 您有名为“黑名单”的属性吗?您的课程是弹簧组件/服务吗?
      • 是的,我有这个属性。我已经找到了解决方案。请在下面查看我的答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 2015-10-21
      • 1970-01-01
      • 2020-10-06
      • 2012-08-13
      • 2018-07-14
      • 1970-01-01
      相关资源
      最近更新 更多