亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

之前一直維護(hù)迭代的產(chǎn)品,因為有很多客戶使用.有些用戶有定制化需求,需要添加新的模塊功能.因此需要平臺主體功能迭代的同時,非主體功能和定制化功能插件化.

一.實現(xiàn)方案

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

1.開發(fā)

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

2.部署

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

1.直接整合打成一個包,整體部署

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

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

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

額外知識點:將解壓后的jar重新壓縮為jar的命令為 jar cvfM0 new.jar ./之前解壓的

補充:

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

一、背景

        在Spring Boot開發(fā)多模塊應(yīng)用時,每個模塊可能有自己的配置文件。當(dāng)模塊之間存在多重依賴關(guān)系時,如果需要將多個模塊配置文件整合,可以使用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/目錄下添加對應(yīng)的配置文件。

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

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

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

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

示例:

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

4. 運行A模塊

通過啟動A模塊,可以驗證是否成功整合了B和C模塊的配置文件。

5. 高級配置

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

例如:

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

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

在C模塊的src/main/resources/目錄下添加名為application-dev.yml的配置文件,同時在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/

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

三、結(jié)語

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

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

相關(guān)文章

  • 使用RocketMQTemplate發(fā)送帶tags的消息

    使用RocketMQTemplate發(fā)送帶tags的消息

    這篇文章主要介紹了使用RocketMQTemplate發(fā)送帶tags的消息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Spring?Boot?優(yōu)雅停機(jī)原理詳解

    Spring?Boot?優(yōu)雅停機(jī)原理詳解

    這篇文章主要為大家介紹了Spring?Boot?優(yōu)雅停機(jī)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • mybatis中如何傳遞單個String類型的參數(shù)

    mybatis中如何傳遞單個String類型的參數(shù)

    這篇文章主要介紹了mybatis中如何傳遞單個String類型的參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java基礎(chǔ)之不簡單的數(shù)組

    Java基礎(chǔ)之不簡單的數(shù)組

    數(shù)組(Array)是有序的元素序列。 若將有限個類型相同的變量的集合命名,那么這個名稱為數(shù)組名。組成數(shù)組的各個變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時也稱為下標(biāo)變量
    2021-09-09
  • java運行時數(shù)據(jù)區(qū)域和類結(jié)構(gòu)詳解

    java運行時數(shù)據(jù)區(qū)域和類結(jié)構(gòu)詳解

    這篇文章主要介紹了java運行時數(shù)據(jù)區(qū)域和類結(jié)構(gòu),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Lombok注解-@SneakyThrows的使用

    Lombok注解-@SneakyThrows的使用

    這篇文章主要介紹了Lombok注解-@SneakyThrows的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • springboot全局異常處理方式@ControllerAdvice和@ExceptionHandler

    springboot全局異常處理方式@ControllerAdvice和@ExceptionHandler

    文章總結(jié)了個人在處理全局異常處理時的經(jīng)驗,包括使用`StatusEnum`來定義狀態(tài)碼,旨在為讀者提供參考,并鼓勵大家支持腳本之家
    2024-11-11
  • Springboot 整合 Java DL4J 實現(xiàn)時尚穿搭推薦系統(tǒng)(實例代碼)

    Springboot 整合 Java DL4J 實現(xiàn)時尚穿搭推薦系統(tǒng)(實例代碼)

    本文介紹了如何使用SpringBoot和JavaDeeplearning4j框架搭建一個時尚穿搭推薦系統(tǒng),文章詳細(xì)闡述了系統(tǒng)的技術(shù)架構(gòu)、數(shù)據(jù)集格式、Maven依賴配置、模型訓(xùn)練和預(yù)測代碼實現(xiàn),以及單元測試和預(yù)期輸出結(jié)果
    2024-10-10
  • Java編程實現(xiàn)提取文章中關(guān)鍵字的方法

    Java編程實現(xiàn)提取文章中關(guān)鍵字的方法

    這篇文章主要介紹了Java編程實現(xiàn)提取文章中關(guān)鍵字的方法,較為詳細(xì)的分析了Java提取文章關(guān)鍵字的原理與具體實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • Java中的Unsafe在安全領(lǐng)域的使用總結(jié)和復(fù)現(xiàn)(實例詳解)

    Java中的Unsafe在安全領(lǐng)域的使用總結(jié)和復(fù)現(xiàn)(實例詳解)

    unsafe里面有很多好用的方法,比如allocateInstance可以直接創(chuàng)建實例對象,defineAnonymousClass可以創(chuàng)建一個VM匿名類(VM?Anonymous?Class),以及直接從內(nèi)存級別修改對象的值。這篇文章主要介紹了Java中的Unsafe在安全領(lǐng)域的一些應(yīng)用總結(jié)和復(fù)現(xiàn),需要的朋友可以參考下
    2022-03-03

最新評論