溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spring Boot多模塊多環(huán)境的配置方法是什么

發(fā)布時(shí)間:2021-10-25 14:36:58 來(lái)源:億速云 閱讀:152 作者:iii 欄目:編程語(yǔ)言

這篇文章主要介紹“Spring Boot多模塊多環(huán)境的配置方法是什么”,在日常操作中,相信很多人在Spring Boot多模塊多環(huán)境的配置方法是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Spring Boot多模塊多環(huán)境的配置方法是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

多模塊

模塊

在模塊化編程中,開(kāi)發(fā)者將程序分解成離散功能塊(discrete chunks of functionality),并稱之為模塊。

多模塊的優(yōu)點(diǎn)

每個(gè)模塊具高內(nèi)聚的特性,使得校驗(yàn)、調(diào)試、測(cè)試輕而易舉。 精心編寫(xiě)的模塊提供了可靠的抽象和封裝界限,使得每個(gè)模塊都具有條理清楚的設(shè)計(jì)和明確的目的。

實(shí)現(xiàn)多模塊

  1.  創(chuàng)建maven工程

  2.  配置多模塊

  3.  添加模塊依賴

創(chuàng)建maven工程

Spring Boot多模塊多環(huán)境的配置方法是什么

Spring Boot多模塊多環(huán)境的配置方法是什么

Spring Boot多模塊多環(huán)境的配置方法是什么

配置多模塊

在pom中,增加modules節(jié)點(diǎn),模塊名<module>任意名稱</module>,可以配置多個(gè);

<modules>   <module>seckill-api</module>   <module>seckill-biz</module>  </modules>

Spring Boot多模塊多環(huán)境的配置方法是什么

通常到這里,多模塊就配置完畢了。但現(xiàn)實(shí)中,我們的模塊間是需要相互依賴的,同時(shí)每個(gè)模塊還要依賴第三方模塊;

添加模塊依賴

seckill-api(api層)要依賴seckill-biz(業(yè)務(wù)層),在api模塊的pom文件中,增加如下配置

<dependencies>   <dependency>        <groupId>com.sifou.courses</groupId>       <artifactId>seckill-biz</artifactId>       <version>1.0-SNAPSHOT</version>   </dependency>  </dependencies>

假定,api和biz模塊都依賴lombok,validation-api這兩個(gè)第三方模塊(包),如何實(shí)現(xiàn)?

  •  方案1:在每個(gè)(biz & api)模塊中,增加依賴;

  •  方案2:在父模塊增加依賴;

相信大家都會(huì)選擇方案2;在root工程中的pom文件,增加如下配置;

<properties>        <lombok.version>1.18.8</lombok.version>        <javax.validation>2.0.1.Final</javax.validation>    </properties>    <dependencies>        <dependency>            <groupId>org.projectlombok</groupId>            <artifactId>lombok</artifactId>            <version>${lombok.version}</version>        </dependency>        <dependency>            <groupId>javax.validation</groupId>            <artifactId>validation-api</artifactId>            <version>${javax.validation}</version>        </dependency>    </dependencies>

到這里,配置完成;(是不是很清晰,請(qǐng)投幣,點(diǎn)贊)

Spring Boot多模塊多環(huán)境的配置方法是什么

還可以用mvn dependency:tree命令,來(lái)查看依賴關(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)境

在工作中,我們面臨開(kāi)發(fā)、測(cè)試、生產(chǎn)等等多個(gè)環(huán)境,要完美實(shí)現(xiàn)多環(huán)境,總共可以分文兩個(gè)大的步驟;

  •  在工程中支持多環(huán)境配置;

  •  在真實(shí)環(huán)境中實(shí)現(xiàn)多環(huán)境啟動(dòng);

支持多環(huán)境配置

  1.  創(chuàng)建properties文件

  2.  指定環(huán)境參數(shù)

創(chuàng)建properties文件

在resources文件夾下創(chuàng)建三個(gè)以properties為后綴的文件

例如:

application-dev.properties:開(kāi)發(fā)環(huán)境

application-test.properties:測(cè)試環(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}對(duì)應(yīng)你的環(huán)境標(biāo)識(shí);

例如:

application-dev.properties:開(kāi)發(fā)環(huán)境

application-test.properties:測(cè)試環(huán)境

application-prod.properties:生產(chǎn)環(huán)境

application.properyies通過(guò)spring.profiles.active來(lái)具體激活一個(gè)或者多個(gè)配置文件,如果沒(méi)有指定任何profile的配置文件的話,spring boot默認(rèn)會(huì)啟動(dòng)application-default.properties;而哪個(gè)配置文件運(yùn)行:

spring.profiles.active=test

就會(huì)加載application-test.properties配置文件內(nèi)容

多環(huán)境啟動(dòng)

剛剛講了在工程中如何配置,那么在真正的環(huán)境中如何啟動(dòng)?莫非,改配置嗎???當(dāng)然不是,正解如下。

-Dspring.profiles.active=${PROFILE}

在啟動(dòng)腳本中,增加上面這個(gè),按環(huán)境來(lái)指定要加載的配置文件

到此,關(guān)于“Spring Boot多模塊多環(huán)境的配置方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI