1前言
在實(shí)際的開發(fā)中,我們常常會(huì)有不同的環(huán)境,包含開發(fā)環(huán)境(開發(fā)人員自己使用),測(cè)試環(huán)境(提供給測(cè)試工程師),生產(chǎn)環(huán)境(提供給用戶).不同的環(huán)境,它們的配置信息是不同的,比如開發(fā)數(shù)據(jù)庫,測(cè)試數(shù)據(jù)庫,生產(chǎn)數(shù)據(jù)庫.如何在同樣的代碼中實(shí)現(xiàn),多環(huán)境配置?接下來我們來講講這個(gè).
2具體實(shí)現(xiàn)
在之前hello world下項(xiàng)目中,搭建的是一個(gè)最簡(jiǎn)單的spring應(yīng)用,甚至連配置文件都沒有.接下來,還是在這個(gè)項(xiàng)目的基礎(chǔ)上添加一個(gè)multiconfig的分支.講講如何進(jìn)行多環(huán)境配置.demo中使用的是yaml文檔格式.在多環(huán)境配置中,配置的文件的模式是:applicaiton.yml,application-{profile}.profile字段用戶可以自定義.在application.yml指定所使用的profile,如果有多個(gè)使用逗號(hào)分割.如下圖所示:

通常把與{profile}無關(guān)的屬性配置在application.yml,這樣無需在每個(gè){profile}中配置.重要的一點(diǎn),如果application.yml與application-{profile}有相同key,{profile}里的值會(huì)覆蓋application.yml的值
3小結(jié)
多環(huán)境配置其實(shí)很簡(jiǎn)單,沒有很多需要講解的東西.注意yml的語法,層級(jí)之間縮進(jìn)兩個(gè)空格.有時(shí)候因?yàn)槠磳戝e(cuò)誤等原因,導(dǎo)致配置的屬性錯(cuò)誤.這里說一個(gè)小技巧(IDEA里),假如在yml文件配置的屬性是xxx-starter配置類的,檢查這個(gè)配置是否正確,只需要按?。trl'鍵,然后鼠標(biāo)移動(dòng)對(duì)應(yīng)的屬性上,然后點(diǎn)擊,如果能跳轉(zhuǎn)到對(duì)于的java類中,說明這個(gè)屬性是配置正確的.