yaml同properties及xml具有同樣的功能,都是用於儲存資料的。
yaml更傾向於資料
yaml格式
資料名 : 資料值
資料名1 :
子資料名: 子資料值
子資料名1: 子資料值2
陣列的儲存方式
list:
-data1
-data2
-data3
等同於如下格式
list: [data1,data2,data3]
當遇到大量資料名形同時(例:同一個包下的檔案)
Dir : com.exe
Dir2 : com.exe.test
Dir3: com.exe.test.pojo
可用下列方式簡化
Dir4: ${Dir3}\.user == com.exe.test.pojo.user
------------------------------------------------------------------------
取值
@Value(${ "資料名" })
private String data; //宣告的資料型別要與獲取的資料值型別保持一致
多級屬性下
@Value("${資料名.子資料名}")
private String data1;
缺點 : 當需要獲取大量的值時,就需要宣告同等數量屬性,過於繁瑣,此時需要採取下述步驟
user :
userName: 張三
userAge: 18
address: xxx.xxx
.1建立類,宣告相對應的屬性;
.2 加上@Component或是其他能夠被spring識別的註解;
.3新增@ConfigurationProperties(prefix = "user")註解 引數為字串型別的資料名
@Component
@ConfigurationProperties(prefix = "user")
public class{
private String userName;
private int userAge;
private String address;
}
......省略get, set, 及toString....
此時會將從yaml中讀取的資料依次賦值給變數