這篇文章主要介紹“Spring Boot多模塊多環(huán)境的配置方法是什么”,在日常操作中,相信很多人在Spring Boot多模塊多環(huán)境的配置方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Spring Boot多模塊多環(huán)境的配置方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、網(wǎng)站建設(shè)、大新網(wǎng)絡(luò)推廣、小程序開發(fā)、大新網(wǎng)絡(luò)營銷、大新企業(yè)策劃、大新品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供大新建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
多模塊
模塊
在模塊化編程中,開發(fā)者將程序分解成離散功能塊(discrete chunks of functionality),并稱之為模塊。
多模塊的優(yōu)點(diǎn)
每個模塊具高內(nèi)聚的特性,使得校驗(yàn)、調(diào)試、測試輕而易舉。 精心編寫的模塊提供了可靠的抽象和封裝界限,使得每個模塊都具有條理清楚的設(shè)計(jì)和明確的目的。
實(shí)現(xiàn)多模塊
創(chuàng)建maven工程
配置多模塊
添加模塊依賴
創(chuàng)建maven工程
配置多模塊
在pom中,增加modules節(jié)點(diǎn),模塊名
seckill-api seckill-biz
通常到這里,多模塊就配置完畢了。但現(xiàn)實(shí)中,我們的模塊間是需要相互依賴的,同時每個模塊還要依賴第三方模塊;
添加模塊依賴
seckill-api(api層)要依賴seckill-biz(業(yè)務(wù)層),在api模塊的pom文件中,增加如下配置
com.sifou.courses seckill-biz 1.0-SNAPSHOT
假定,api和biz模塊都依賴lombok,validation-api這兩個第三方模塊(包),如何實(shí)現(xiàn)?
方案1:在每個(biz & api)模塊中,增加依賴;
方案2:在父模塊增加依賴;
相信大家都會選擇方案2;在root工程中的pom文件,增加如下配置;
1.18.8 2.0.1.Final org.projectlombok lombok ${lombok.version} javax.validation validation-api ${javax.validation}
到這里,配置完成;(是不是很清晰,請投幣,點(diǎn)贊)
還可以用mvn dependency:tree命令,來查看依賴關(guān)系(必備核心技能,解決包沖突,解決包版本失效)
[INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] com.sifou.courses.seckill [INFO] seckill-biz [INFO] seckill-api [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building com.sifou.courses.seckill 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-dependency-plugin:3.1.2:tree (default-cli) @ com.sifou.courses.seckill --- [INFO] com.sifou.courses:com.sifou.courses.seckill:pom:1.0-SNAPSHOT [INFO] +- org.projectlombok:lombok:jar:1.18.8:compile [INFO] \- javax.validation:validation-api:jar:2.0.1.Final:compile [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building seckill-biz 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-dependency-plugin:3.1.2:tree (default-cli) @ seckill-biz --- [INFO] com.sifou.courses:seckill-biz:jar:1.0-SNAPSHOT [INFO] +- org.projectlombok:lombok:jar:1.18.8:compile [INFO] \- javax.validation:validation-api:jar:2.0.1.Final:compile [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building seckill-api 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-dependency-plugin:3.1.2:tree (default-cli) @ seckill-api --- [INFO] com.sifou.courses:seckill-api:jar:1.0-SNAPSHOT [INFO] +- com.sifou.courses:seckill-biz:jar:1.0-SNAPSHOT:compile [INFO] +- org.projectlombok:lombok:jar:1.18.8:compile [INFO] \- javax.validation:validation-api:jar:2.0.1.Final:compile [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] com.sifou.courses.seckill .......................... SUCCESS [ 1.007 s] [INFO] seckill-biz ........................................ SUCCESS [ 0.040 s] [INFO] seckill-api ........................................ SUCCESS [ 0.036 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.862 s [INFO] Finished at: 2020-10-29T23:18:09+08:00 [INFO] Final Memory: 27M/230M [INFO] ------------------------------------------------------------------------ Process finished with exit code 0
多環(huán)境
在工作中,我們面臨開發(fā)、測試、生產(chǎn)等等多個環(huán)境,要完美實(shí)現(xiàn)多環(huán)境,總共可以分文兩個大的步驟;
在工程中支持多環(huán)境配置;
在真實(shí)環(huán)境中實(shí)現(xiàn)多環(huán)境啟動;
支持多環(huán)境配置
創(chuàng)建properties文件
指定環(huán)境參數(shù)
創(chuàng)建properties文件
在resources文件夾下創(chuàng)建三個以properties為后綴的文件
例如:
application-dev.properties:開發(fā)環(huán)境
application-test.properties:測試環(huán)境
application-prod.properties:生產(chǎn)環(huán)境
指定環(huán)境參數(shù)
spring.profiles.active=test
到這里,多環(huán)境配置完成;
在Spring Boot中多環(huán)境配置文件名必須滿足:application-{profile}.properties的固定格式,其中{profile}對應(yīng)你的環(huán)境標(biāo)識;
例如:
application-dev.properties:開發(fā)環(huán)境
application-test.properties:測試環(huán)境
application-prod.properties:生產(chǎn)環(huán)境
application.properyies通過spring.profiles.active來具體激活一個或者多個配置文件,如果沒有指定任何profile的配置文件的話,spring boot默認(rèn)會啟動application-default.properties;而哪個配置文件運(yùn)行:
spring.profiles.active=test
就會加載application-test.properties配置文件內(nèi)容
多環(huán)境啟動
剛剛講了在工程中如何配置,那么在真正的環(huán)境中如何啟動?莫非,改配置嗎???當(dāng)然不是,正解如下。
-Dspring.profiles.active=${PROFILE}
在啟動腳本中,增加上面這個,按環(huán)境來指定要加載的配置文件
到此,關(guān)于“Spring Boot多模塊多環(huán)境的配置方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!