最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

maven模塊化開(kāi)發(fā)部署實(shí)現(xiàn)方案

 更新時(shí)間:2024年01月10日 09:38:27   作者:GLPerryHsu  
有些用戶有定制化需求,需要添加新的模塊功能,因此需要平臺(tái)主體功能迭代的同時(shí),非主體功能和定制化功能插件化,本文給大家介紹maven模塊化開(kāi)發(fā)部署實(shí)現(xiàn)方案,感興趣的朋友一起看看吧

maven模塊化開(kāi)發(fā)部署

之前一直維護(hù)迭代的產(chǎn)品,因?yàn)橛泻芏嗫蛻羰褂?有些用戶有定制化需求,需要添加新的模塊功能.因此需要平臺(tái)主體功能迭代的同時(shí),非主體功能和定制化功能插件化.

一.實(shí)現(xiàn)方案

分為開(kāi)發(fā)和部署兩個(gè)步驟:

1.開(kāi)發(fā)

已經(jīng)確定肯定是采用maven父子工程,單獨(dú)的模塊可獨(dú)立開(kāi)發(fā)及獨(dú)立部署.
原因是產(chǎn)品的主體功能(模塊1)和非主體功能(模塊2)完全解耦,
不能通過(guò)模塊1引用模塊2的代碼.因?yàn)檫@樣會(huì)導(dǎo)致部署主體功能必須引入非主體功能,
達(dá)不到模塊化部署的目的,必須引入整體部署,這個(gè)有悖瓶產(chǎn)品功能插件化的初衷.

2.部署

基于模塊開(kāi)發(fā)的代碼獨(dú)立性,可以是插件式整合到主體產(chǎn)品,也可以作為一個(gè)獨(dú)立運(yùn)行的模塊部署,輔助于主體產(chǎn)品.部署可以有兩種場(chǎng)景:

1.直接整合打成一個(gè)包,整體部署

//產(chǎn)品主體+非主體模塊壓入后直接部署
//主體為jar,將非主體模塊的jar解壓并壓入主體jar
//需要注意的是,被壓入的文件夾結(jié)構(gòu)必須與jar的內(nèi)部結(jié)構(gòu)一致(文件夾層)
jar uvf 主體.jar ./非主體模塊的jar解壓后的文件夾/

2.分開(kāi)打包,主體產(chǎn)品部署后引導(dǎo)式插件部署

//方案可以有兩種.
//1.引導(dǎo)非主體jar解壓并入主體jar,重啟主體jar,插件服務(wù)生效(插入過(guò)程見(jiàn)場(chǎng)景1)
//2.引導(dǎo)非主體jar獨(dú)立運(yùn)行,輔助主體jar,提供服務(wù)

額外知識(shí)點(diǎn):將解壓后的jar重新壓縮為jar的命令為 jar cvfM0 new.jar ./之前解壓的

補(bǔ)充:

maven多模塊多配置文件整合方案

一、背景

        在Spring Boot開(kāi)發(fā)多模塊應(yīng)用時(shí),每個(gè)模塊可能有自己的配置文件。當(dāng)模塊之間存在多重依賴關(guān)系時(shí),如果需要將多個(gè)模塊配置文件整合,可以使用Spring Boot的配置文件的導(dǎo)入功能。

二、解決方案

        以A模塊依賴于B和C模塊為例,需要將B和C模塊的配置文件整合到A模塊的配置中。假設(shè)B模塊的配置文件名為application-dev.yml,C模塊的配置文件名為application-test.yml,需要將它們整合到A模塊的配置文件application.yml中。

1. 在B和C模塊中添加配置文件

在B和C模塊的src/main/resources/目錄下添加對(duì)應(yīng)的配置文件。

2. 在A模塊中添加配置文件

在A模塊的src/main/resources/目錄下添加application.yml配置文件,用于整合B和C模塊的配置文件。

3. 在A模塊的application.yml配置文件中添加導(dǎo)入配置

在A模塊的application.yml配置文件中添加spring.config.import屬性來(lái)導(dǎo)入B和C模塊的配置文件。

示例:

spring:
    config:
        import:
            -classpath:/path/to/B/config/application-dev.yml
            -classpath:/path/to/C/config/application-test.yml

4. 運(yùn)行A模塊

通過(guò)啟動(dòng)A模塊,可以驗(yàn)證是否成功整合了B和C模塊的配置文件。

5. 高級(jí)配置

如果B和C模塊的配置文件名稱相同,運(yùn)行時(shí)會(huì)有配置文件覆蓋的情況(注意是同名、編譯后同文件夾的情況下),此時(shí)可以使用spring.config.name和spring.config.location屬性來(lái)區(qū)分它們。

例如:

在B模塊的src/main/resources/目錄下添加名為application-dev.yml的配置文件,同時(shí)在application.yml中添加:

spring:
    config:
      location:classpath:/path/to/B/config/

在C模塊的src/main/resources/目錄下添加名為application-dev.yml的配置文件,同時(shí)在application.yml中添加:

spring:
    config:
        location:classpath:/path/to/C/config/

這樣,A模塊的application.yml就可以這樣引入:

spring:
    config:
        location:classpath:/path/to/A/config/
        import: 
            -classpath:/path/to/B/config/ 
            -classpath:/path/to/C/config/

這種方式可以讓同名的配置文件不會(huì)相互覆蓋。(注意使用這種方式的時(shí)候需要在classpath對(duì)應(yīng)目錄中添加編譯后的配置文件,maven用resource標(biāo)簽或者構(gòu)建工具中的資源插件等)

三、結(jié)語(yǔ)

        以上就是在Spring Boot中使用spring.config.import將多模塊配置文件整合的過(guò)程。通過(guò)這種方式,可以更好地管理多模塊應(yīng)用的配置文件,提高開(kāi)發(fā)效率。當(dāng)然這是一種解決方案,或者也可以將配置文件單獨(dú)放入獨(dú)立的配置模塊,其他模塊在進(jìn)行依賴等等。結(jié)束!

到此這篇關(guān)于maven模塊化開(kāi)發(fā)部署的文章就介紹到這了,更多相關(guān)maven模塊化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇游戲

    Java實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇游戲

    這篇文章主要介紹了Java實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • java使用靜態(tài)關(guān)鍵字實(shí)現(xiàn)單例模式

    java使用靜態(tài)關(guān)鍵字實(shí)現(xiàn)單例模式

    這篇文章主要為大家詳細(xì)介紹了java使用靜態(tài)關(guān)鍵字實(shí)現(xiàn)單例模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Java代碼重構(gòu)的幾種模式詳解

    Java代碼重構(gòu)的幾種模式詳解

    這篇文章詳細(xì)介紹了Java代碼重構(gòu)的幾種模式,有需要的朋友可以參考一下
    2013-10-10
  • spring?boot整合mongo查詢converter異常排查記錄

    spring?boot整合mongo查詢converter異常排查記錄

    這篇文章主要為大家介紹了spring?boot整合mongo查詢時(shí)拋出converter異常的排查解決記錄,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • Java中this關(guān)鍵字用法梳理詳細(xì)講解

    Java中this關(guān)鍵字用法梳理詳細(xì)講解

    this關(guān)鍵字是java常用的關(guān)鍵字,可用于任何實(shí)例方法內(nèi)指向當(dāng)前對(duì)象,也可指向?qū)ζ湔{(diào)用當(dāng)前方法的對(duì)象,下面這篇文章主要介紹了Java中this關(guān)鍵字用法梳理的相關(guān)資料,需要的朋友可以參考下
    2025-07-07
  • Java經(jīng)典面試題最全匯總208道(四)

    Java經(jīng)典面試題最全匯總208道(四)

    這篇文章主要介紹了Java經(jīng)典面試題最全匯總208道(四),本文章內(nèi)容詳細(xì),該模塊分為了六個(gè)部分,本次為第四部分,需要的朋友可以參考下
    2023-01-01
  • Mybatis?SqlSession案例詳解

    Mybatis?SqlSession案例詳解

    這篇文章主要介紹了Mybatis?SqlSession詳解,本文我們講了如何創(chuàng)建SqlSession的幾個(gè)步驟,最后我們獲得一個(gè)DefaultSqlSession對(duì)象,里面包含了執(zhí)行器Executor和配置對(duì)象Configuration,需要的朋友可以參考下
    2023-04-04
  • 詳解SpringMVC組件之HandlerMapping(一)

    詳解SpringMVC組件之HandlerMapping(一)

    這篇文章主要介紹了詳解SpringMVC組件之HandlerMapping(一),HandlerMapping組件是Spring?MVC核心組件,用來(lái)根據(jù)請(qǐng)求的request查找對(duì)應(yīng)的Handler,在Spring?MVC中,有各式各樣的Web請(qǐng)求,每個(gè)請(qǐng)求都需要一個(gè)對(duì)應(yīng)的Handler來(lái)處理,需要的朋友可以參考下
    2023-08-08
  • 利用Java如何獲取IP與機(jī)器名方法示例

    利用Java如何獲取IP與機(jī)器名方法示例

    在開(kāi)發(fā)工作中,我們常常需要獲取客戶端的IP。下面這篇文章主要給大家介紹了關(guān)于利用Java如何獲取IP與機(jī)器名的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-07-07
  • Spring Cloud入門系列服務(wù)提供者總結(jié)

    Spring Cloud入門系列服務(wù)提供者總結(jié)

    這篇文章主要介紹了Spring Cloud入門系列之服務(wù)提供者總結(jié),服務(wù)提供者使用Eureka Client組件創(chuàng)建 ,創(chuàng)建完成以后修改某文件,具體操作方法及實(shí)例代碼跟隨小編一起看看吧
    2021-06-06

最新評(píng)論

巴彦县| 铁力市| 东海县| 新疆| 广南县| 麻阳| 土默特左旗| 深圳市| 金沙县| 封丘县| 宜春市| 同江市| 张家港市| 龙游县| 玛纳斯县| 酉阳| 桂阳县| 连南| 桂阳县| 万荣县| 临汾市| 赫章县| 安国市| 舞阳县| 柳江县| 灵寿县| 慈利县| 阳西县| 贵定县| 塔城市| 临夏县| 姜堰市| 宁海县| 汕头市| 舟曲县| 汽车| 曲沃县| 河北区| 玛多县| 温泉县| 广水市|