測試yml文件的讀取,以及Environment的api
- Environment 是spring 自帶的類,可用於讀取變量的值、profile
- Yaml(org.yaml.snakeyaml.Yaml) 也是spring框架自帶的類,用來讀取yml文件
- yml文件有些平時比較少用的寫法
abc:
def: my_value
abc.def: my_value
other.dataengine.tag.mgmt.mark:
delete.input.file.path: delete_input_file_path_可以這樣類似prop一樣扁平地寫
delete.out.file.path: delete_out_file_path_22222
my:
list: elem1,elem2
my.list: elem1,elem2
test:
list:
- item1
- item2
test.list:
- item1
- item2
對比list的兩種寫法的優劣勢
* 逗號的寫法優勢明顯,可以被 `List list = environment.get("my.list", List.class)` 獲取,也可以被 `@Value("${my.list}")` 獲取
* 用 `-` 的寫法,不能用 `environment.get("my.list", List.class)` 和 `@Value("${my.list}")` 的寫法,只能用一個Bean來承接這個List(參考MyBean)
需要注意的是逗號的寫法,可以獲取爲字串,也可以獲取爲List對象,關鍵就是用什麼類型去承接,比如用List.class,或者@Value註釋的是List類型則會把值轉爲list
附錄
@Configuration
@ConfigurationProperties("test")
@Data
public class MyBean {
private List<String> list;
}