[英]Load a List type property from application yml into Java POJO
我想將嵌套的List屬性加載到JAVA POJO中
我正在使用類A上的ConfigurationProperties
注釋從yml加載屬性。我的列表的類型為B。此B對象具有自己的LIST屬性。 但是,yml屬性未按預期加載。
@ConfigurationProperties(prefix="prop")
public class A{
List<B> b = new ArrayList<>();
//getters and setters ......
}
public class B{
String user; //This property gets loaded.
List<String> list = new ArrayList<>(); //However this list is still empty
//getters and setters ......
}
我在application.yml
屬性如下所示。
prop:
-
user: alpha
list: a,b,c
-
user: beta
list: x,y,z
好吧,這不是List的YAML語法:
list: a,b,c
那只是一個字符串a,b,c
。
如果希望使用逗號分隔列表,則可以在加載后對其進行解析。 Spring使用自己的某些屬性執行類似的操作,例如在此示例中使用RabbitMQ屬性。 addresses
以parseAddresses()
分隔,並且函數parseAddresses()
在加載后拆分字符串,作為該成員的setter方法的一部分。
否則,請使用YAML列表語法。
prop:
- user: alpha
list:
- a
- b
- c
- user: beta
list:
- x
- y
- z
根據手冊,您將列表項定義為:
list:
- a
- b
- c
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.