Springのプロパティのデフォルト値として空のリストを設定する方法はありますか?
@Value("${my.list.of.strings :" + new ArrayList<>() + "}")
private List<String> myList;
明らかに新しいArrayListではありませんが、代わりに空のリストが必要です。
SpEL仕様を見て、@ javaguyの答えと組み合わせた後、私はこれを思いつきました:
@Value("${my.list.of.strings:}#{T(Java.util.Collections).emptyList()}")
private List<String> myList;
以下に示すように、Collections.emptyList()
サイズがゼロの空のリストオブジェクトに入力するを使用できます。
@Value("#{T(Java.util.Collections).emptyList()}")
private List<String> myList;
これにより、サイズがゼロのmyList
が得られます
@Value("#{T(Java.util.Arrays).asList('${my.list.of.strings:}')}")
private List<String> myList;
spring 5.0.xを使用して私のために機能します(my.list.of.stringsプロパティがコンテキストで設定されていない場合、空のリストを提供します)
その後、簡単に次のようなことができます
CollectionUtils.isNotEmpty(myList)