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

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

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

Springboot多模塊項(xiàng)目搭建

創(chuàng)建maven父工程

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

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

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

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

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

創(chuàng)建子模塊

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

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

創(chuàng)建dao模塊

創(chuàng)建web模塊

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

1.點(diǎn)擊項(xiàng)目根目錄,右鍵 new -> module,選用Spring Initializr的方式新建web模塊,點(diǎn)擊Next

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

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

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

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

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

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

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

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

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

多模塊啟動(dòng)配置文件管理

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

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

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

相關(guān)文章

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

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

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

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

    這篇文章主要介紹了Spring Bean生命周期源碼原理圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    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ù)、注釋類型,編譯器會(huì)將?@Value注解的信息保留在?.class?文件中,并且能被虛擬機(jī)讀取,需要的朋友可以參考下
    2024-01-01
  • java?List集合去除null的4種方法

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論