首页 > 解决方案 > Java SpringBoot - 空列表的@Value

问题描述

关于如何通过 application.properties 文件配置带有 @Value 的空列表的小问题。

我有以下内容:

  @Value("#{'${my.cool.list}'.split(',')}")
    private List<String> myList;

如果我在我的应用程序属性中配置以下内容:

my.cool.list=

我天真地期望有一个空列表。

但是相反,我有一个列表,一个元素,一个元素是空字符串

请问如何通过应用程序属性声明一个空列表?

我不想使用@Value 中的一些默认机制,或者如果可能的话删除该属性。

谢谢

标签: javaspring-boot

解决方案


首先替换(或修剪)空格:

@Value("#{'${my.cool.list}'.replace(' ','').split(',')}")
private List<String> myList;

对于较新的版本,您还可以将:as 用作空列表的运算符:

@Value("#{'${my.cool.list:}'")
private List<String> myList;

推荐阅读