如果你的項目有多個模塊,比如,幾個項目要共用一個數據模塊(DataModule),API部分為一個模塊(APIModule)。如果要切換不同的環境,需要設置不同的數據庫地址,如果數據分布於多個數據源中,手動修改yml中的地址顯然不實際而且容易出錯,所以需要將不同的數據源放在不同的yml中,在編譯時修改一個yml中的配置即可,具體例子如下:
APIModule下有application.yml,如果環境不同,本模塊的配置也需要有相應的區別,那么可以增加application-development.yml(開發環境)和application-product.yml(生產環境)。要想加載其中的一個,就需要配置application.yml中的spring.profiles.active為development(配置文件以application-開頭)。然而,如果你的DataModule下的yml文件的命名規則與APIModule一樣的話,則會發現數據模塊配置的東西讀不到了。此時必須將沖突的名稱改名,如:將Datamodule的yml文件改為application-datadevelopment.yml和application-dataproduct.yml並在APIModule的application.yml文件中的spring.profiles.active中增加datadevelopment,即可加載這兩個模塊的dev配置了。同理,要修改為生產環境,spring.profiles.active則為product,dataproduct。