[英]Spring @Value split empty string to a List
我使用 @Value("#{'${names}'.split(',')}") 從屬性文件加載列表。 但是如果屬性文件中的名稱值是這樣取消設置的
names=
那么 Spring 將初始化一個大小為 1 而不是大小為 0 的列表,並且該列表中唯一的元素是一個空字符串,這很奇怪。
我想知道這是一個錯誤,還是我用錯了? 我正在使用 spring 3.2.3 順便說一句。
謝謝。
這不是 spring 的錯誤,是String
class 中方法split
的缺陷,例如:
"".split(",");
結果長度為1,並且包含一個空字符串;
如果您不想使用外部庫,其他解決方案是使用 elvis 表達式。
也許不是很優雅但有效。
@Value("#{'${names}'.empty?(new java.util.ArrayList()):'${names}'.split(',')}")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.