欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IDEA2022搭建Spring?Cloud多模塊項目的詳細(xì)過程

 更新時間:2022年10月13日 14:36:20   作者:Joshua_2019  
這篇文章主要介紹了IDEA2022搭建Spring?Cloud多模塊項目,網(wǎng)上有很多教程父模塊都是通過maven的方式創(chuàng)建的,然后子模塊是通過Spring?Initalizr方式創(chuàng)建,這種方式父模塊無法管理子模塊的依賴仲裁,需要每個子模塊自行管理,就失去了父模塊的用處了

Springboot多模塊項目搭建

創(chuàng)建maven父工程

注意:創(chuàng)建父模塊選用Spring Initializr的方式創(chuàng)建,讓父模塊繼承springboot的maven配置,之后的所有子模塊都通過maven的方式創(chuàng)建,子模塊繼承父模塊就會間接繼承springboot相關(guān)的配置,web,api模塊再另外添加spring-boot-starter-web,spring-boot-starter-tomcat相關(guān)的依賴。網(wǎng)上有很多教程父模塊都是通過maven的方式創(chuàng)建的,然后子模塊是通過Spring Initalizr方式創(chuàng)建,這種方式父模塊無法管理子模塊的依賴仲裁,需要每個子模塊自行管理,就失去了父模塊的用處了。

1.idea -> file -> new -> project,選擇Spring Initializr,填寫相關(guān)的Group,Artifact,Package name 等信息,點擊Next;
JDK版本可以根據(jù)需要選擇高一些的版本,我是由于需要兼容線上的老版本系統(tǒng),所以沿用JDK1.8的版本

2.根據(jù)需要選取初始化需要加載的依賴,我添加了Cloud Bootstrap,可以自動生成Spring Cloud依賴管理包,直接點解Create

3.刪除生成后的src目錄,pom.xml中添加pom屬性

4.剛才創(chuàng)建時選擇的Cloud Bootstrap 會在pom文件中自動生成spring-cloud 相關(guān)的依賴配置,spring-cloud-dependencies 是一個依賴管理器的pom文件,是對spring cloud版本的依賴管理

創(chuàng)建子模塊

使用maven方式創(chuàng)建api,biz,core,dao,integration,common,model 相關(guān)模塊,創(chuàng)建內(nèi)部依賴模塊是使用maven的方式創(chuàng)建,便于總模塊管理子模塊的依賴仲裁;

點擊項目根目錄,右鍵 new -> module,選用maven的方式新建模塊,Archetype可以選擇quickstart,分別添加api,biz,core,dao,integration,common,model 這些模塊。直接點擊Create

創(chuàng)建dao模塊

創(chuàng)建web模塊

web模塊可以采用Spring Initializr的方式創(chuàng)建,可以自動初始化web相關(guān)的pom包和springboot的啟動類,之后再修改web模塊的pom文件的標(biāo)簽為當(dāng)前父工程的配置即可;

1.點擊項目根目錄,右鍵 new -> module,選用Spring Initializr的方式新建web模塊,點擊Next

2.根據(jù)自己的需要勾選所需的依賴,我選擇了Spring Boot DevTools 和 Spring Web,點擊Create

3.修改web模塊的pom文件的,將spring-boot-starter-parent 替換為父工程的pom配置

4.在父工程的pom文件中新增web模塊的module依賴

創(chuàng)建完之后的工程目錄結(jié)構(gòu)如圖:

添加模塊依賴關(guān)系

創(chuàng)建完所有模塊之后,自行在各個模塊的pom 文件中添加模塊依賴配置,推薦模塊依賴關(guān)系如下圖:

模塊職責(zé)&關(guān)系說明

  • web模塊:
  • HTTP,HTTPS請求入口層,只負(fù)責(zé)對訪問控制進行轉(zhuǎn)發(fā)、參數(shù)轉(zhuǎn)換,不編寫復(fù)雜的業(yè)務(wù)邏輯,返回的結(jié)果數(shù)據(jù)用XxxVO模型封裝,最終返回給前端的數(shù)據(jù)用BizResult封裝;
  • biz模塊:
  • 負(fù)責(zé)業(yè)務(wù)邏輯處理,biz層通常提供業(yè)務(wù)具體處理流程相關(guān)的服務(wù);
  • core模塊:
  • 負(fù)責(zé)對dao層返回的DO或integration層返回的外部系統(tǒng)模型進行轉(zhuǎn)換、解析、業(yè)務(wù)邏輯處理。core層通常提供的是通用的服務(wù);
  • api模塊:
  • 負(fù)責(zé)對其它微服務(wù)系統(tǒng)提供接口,不允許拋異常,放回的結(jié)果統(tǒng)一使用BizResult封裝;
  • dao模塊:
  • 只負(fù)責(zé)MySQL數(shù)據(jù)庫的對接操作,返回XxxDO對象;
  • integration模塊:
  • 負(fù)責(zé)外部系統(tǒng)的對接,如算法、語音解析、微信接入、支付寶接入等,直接返回外部系統(tǒng)的領(lǐng)域模型;
  • common模塊:
  • 存放項目里面所有模塊公用的組件,有些組件如果只是某個模塊里面自己使用不要放在common下面,可以在本模塊下建立utils包,例如:ResponseUtil之類只有web層才會使用到的工具類;
  • model模塊:

存放項目的數(shù)據(jù)模型,如常量、枚舉、業(yè)務(wù)數(shù)據(jù)模型等;

多模塊啟動配置文件管理

多模塊化后,想讓每個模塊的配置文件獨立管理,整合的時候再合并各個不同的模塊的配置,需要先在每個模塊下面創(chuàng)建一個配置文件,文件的命名格式必須是application-xxx.yml,啟動層模塊想引用下層模塊的配置時需要在配置文件中添加spring.profiles.include: xxx 或者spring.profiles.active: xxx (xxx為子模塊配置文件的后綴標(biāo)識名)配置項顯示引用所需要的配置文件。注意啟動層模塊的配置文件名必須是application.yml或者application.properties,不能帶上-xxx的后綴,不然導(dǎo)致spring.profiles.active的配置失效,從而無法加載子模塊的配置。例如啟動層是web層,web層的配置文件命名為application.yml,如果命名是application-web.yml會導(dǎo)致子模塊的配置無法加載。

ConfigFileApplicationListener 子模塊配置加載類源碼說明如下,默認(rèn)是從加載application.properties或application.yml這兩個配置文件中加載其它配置文件的配置,所以啟動層模塊的配置文件名必須是application.properties或application.yml。

到此這篇關(guān)于IDEA2022搭建Spring Cloud多模塊項目的文章就介紹到這了,更多相關(guān)Spring Cloud多模塊項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java使用線程同步解決線程安全問題詳解

    Java使用線程同步解決線程安全問題詳解

    線程安全是多線程編程時的計算機程序代碼中的一個概念。在擁有共享數(shù)據(jù)的多條線程并行執(zhí)行的程序中,線程安全的代碼會通過同步機制保證各個線程都可以正常且正確的執(zhí)行,不會出現(xiàn)數(shù)據(jù)污染等意外情況
    2022-05-05
  • Spring Bean生命周期源碼原理圖解

    Spring Bean生命周期源碼原理圖解

    這篇文章主要介紹了Spring Bean生命周期源碼原理圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • 解決java.util.NoSuchElementException異常正確方法

    解決java.util.NoSuchElementException異常正確方法

    java.util.NoSuchElementException是Java中的一種異常,表示在迭代器或枚舉中找不到元素,這篇文章主要給大家介紹了關(guān)于解決java.util.NoSuchElementException異常的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Spring注解之@Value詳解

    Spring注解之@Value詳解

    這篇文章主要介紹了Spring注解之@Value詳解,@Value可以修飾屬性、方法、參數(shù)、注釋類型,編譯器會將?@Value注解的信息保留在?.class?文件中,并且能被虛擬機讀取,需要的朋友可以參考下
    2024-01-01
  • java?List集合去除null的4種方法

    java?List集合去除null的4種方法

    這篇文章主要給大家介紹了java?List集合去除null的3種方法,文中通過代碼示例將每種方法都介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Java具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • Java的Jackson庫中復(fù)雜對象集合的幾種簡單轉(zhuǎn)換

    Java的Jackson庫中復(fù)雜對象集合的幾種簡單轉(zhuǎn)換

    本文主要介紹了Java的Jackson庫中復(fù)雜對象集合的幾種簡單轉(zhuǎn)換。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 詳解Java數(shù)組的定義和聲明方法

    詳解Java數(shù)組的定義和聲明方法

    在Java開發(fā)中,數(shù)組是最常用的數(shù)據(jù)結(jié)構(gòu)之一,因此,深入了解Java數(shù)組的定義和聲明是非常必要的,本文將詳細(xì)介紹Java數(shù)組的定義和聲明方法,以及其在實際開發(fā)中的應(yīng)用場景、優(yōu)缺點等方面,需要的朋友可以參考下
    2023-11-11
  • SpringBoot接口數(shù)據(jù)加解密實戰(zhàn)記錄

    SpringBoot接口數(shù)據(jù)加解密實戰(zhàn)記錄

    現(xiàn)今對于大多數(shù)公司來說,信息安全工作尤為重要,下面這篇文章主要給大家介紹了關(guān)于SpringBoot接口數(shù)據(jù)加解密的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Java工具類實現(xiàn)高效編寫報表

    Java工具類實現(xiàn)高效編寫報表

    對于報表數(shù)據(jù)大部分情況下使用寫sql的方式為大屏/報表提供數(shù)據(jù)來源,但是對于某些復(fù)雜情況下僅僅使用sql無法實現(xiàn),這篇文章主要介紹了Java工具類實現(xiàn)高效編寫報表
    2022-11-11
  • 使用FormData上傳二進制文件、對象、對象數(shù)組方式

    使用FormData上傳二進制文件、對象、對象數(shù)組方式

    這篇文章主要介紹了使用FormData上傳二進制文件、對象、對象數(shù)組方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論