您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關springboot多模塊中的共用配置文件會遇到什么問題的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
公共模塊comm有些參數是配置文件里配置的,其他的應用依賴comm包,這樣一來每個應用都需要配置一個與comm相同的參數才行,否則啟動時,報錯。找不到配置參數,無法解析的異常:
公共模塊comm,配置了參數,應用A 依賴comm,如果A里配置了相同的參數,則會覆蓋comm里設置的 參數,如果A里沒設置,那就采用comm里的參數配置?
經過半個小時的測試,答案是肯定的:
1、架構草圖如圖所示:
2、application.yml:
3、經測試,dev也就是說上層的配置文件要放在后面
他會覆蓋前面的相同參數,如果后面的配置文件里沒有配置,就采用commdev公共模塊的共用參數。
如果你的項目有多個模塊,比如,幾個項目要共用一個數據模塊(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。
感謝各位的閱讀!關于“springboot多模塊中的共用配置文件會遇到什么問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。