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

Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)

 更新時(shí)間:2020年06月15日 11:52:14   作者:少安  
這篇文章主要介紹了Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

What

內(nèi)含一個(gè)或多個(gè)maven模塊的SpringBoot項(xiàng)目稱為SpringBoot多模塊項(xiàng)目

Why

便于維護(hù) 將一個(gè)大的單體項(xiàng)目分成多個(gè)子模塊有利于模塊間的維護(hù), 刪除或移動(dòng)單個(gè)模塊時(shí)對(duì)其他模塊的影響也比較小 單個(gè)模塊還可以復(fù)用

共享依賴 只需要在父類中定義公共的依賴項(xiàng),子類模塊都會(huì)共享父類的依賴項(xiàng) 在大型項(xiàng)目中會(huì)使得代碼更容易簡(jiǎn)潔。

How

1.父模塊

創(chuàng)建父項(xiàng)目(SpringBoot)

刪除不需要的目錄

去除src .mvn mvnw mvnw.cmd 文件

pom

packaging標(biāo)簽 打包方式改為"pom", 表示這個(gè)模塊是 聚合模塊 把子類模塊都"聚合"起來(lái) 使用maven打包,可以從這個(gè)模塊開(kāi)始,會(huì)自動(dòng)計(jì)算打包順序

<packaging>pom</packaging>

dependencies與dependencyManagement標(biāo)簽

1. dependencies將依賴放入標(biāo)簽中 子模塊會(huì)自動(dòng)引入父類的的依賴

2. dependencyManagement將依賴放入標(biāo)簽中 子模塊 不會(huì) 自動(dòng)引入父類的的依賴 還需要在子類中聲明一次依賴 GAV中 不需要 聲明version標(biāo)簽,version同父類中的一致

父類pom文件demo

<!--	父類: springboot自帶的啟動(dòng)類父類-->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.4.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

<!--	創(chuàng)建時(shí)填寫(xiě)的基本信息-->
	<groupId>com.ybj</groupId>
	<artifactId>my-app</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>my-app</name>
	<description>springboot多項(xiàng)目</description>
<!--	父類的packing只能是pom-->
	<packaging>pom</packaging>
<!-- 子類直接繼承-->
 <dependencies>
<!-- 子類需要在pom中 手動(dòng)加入依賴(version不用寫(xiě))-->
 <dependencyManagement>

modules標(biāo)簽 這個(gè)標(biāo)簽管理的是被聚合的模塊 當(dāng)新建子模塊時(shí),modules會(huì)自動(dòng)添加單個(gè)的module標(biāo)簽

啟動(dòng)類

父模塊啟動(dòng)類,是整個(gè)模塊的啟動(dòng)類 所有的請(qǐng)求都走父模塊的端口 為了使子模塊的服務(wù)也能啟動(dòng),需要在父模塊啟動(dòng)類上加入注解

@ComponentScan(basePackages = {"com.ybj.*",})

2.子模塊

1.創(chuàng)建子模塊

選擇Module

選擇maven項(xiàng)目

輸入具體信息

2.pom

packaging標(biāo)簽 這里可以選擇jar或者war 指定打包方式

parent 子類pom中的parent自動(dòng)指向了父類的GAV 子類會(huì)自動(dòng)引入父類pom中 dependencies 的中依賴項(xiàng)

<!-- 父類:自動(dòng)選擇了父類-->
 <parent>
  <artifactId>my-app</artifactId>
  <groupId>com.ybj</groupId>
  <version>0.0.1-SNAPSHOT</version>
 </parent>

模塊間依賴 需要依賴某個(gè)模塊,可以在pom中聲明 這里的依賴是從本地倉(cāng)庫(kù)下載的,不是遠(yuǎn)程倉(cāng)庫(kù)

Maven Helper插件 在idea中安裝maven helper插件 點(diǎn)擊pom文件,選擇 Dependency Analyzer

即可查看并搜索依賴項(xiàng),這對(duì)于解決依賴沖突很有幫助

4.打包

方式1:聚合模塊直接打包

在聚合模塊打包,會(huì)自動(dòng)計(jì)算依賴順序,依次打包

依次執(zhí)行 clean 與 install maven會(huì)自動(dòng)計(jì)算構(gòu)建順序

方式2:使用插件

方式1的問(wèn)題就是耗費(fèi)時(shí)間長(zhǎng), 因?yàn)槭侨看虬?所以就需要實(shí)現(xiàn)單個(gè)模塊打包 這里需要借助spring-boot-maven-plugin插件

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
			<version>2.3.0.RELEASE</version>
			<executions>
				<execution>
					<goals>
						<goal>repackage</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>

5. 常見(jiàn)問(wèn)題

依賴沖突

因?yàn)樽宇悤?huì)繼承父類的依賴項(xiàng),所以可能 導(dǎo)致依賴沖突,從而使項(xiàng)目無(wú)法啟動(dòng)。 這里可以使用maven helper插件進(jìn)行沖突的排查

到此這篇關(guān)于Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Idea中SpringBoot多模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MyBatis中if標(biāo)簽的基本使用

    MyBatis中if標(biāo)簽的基本使用

    本文介紹了MyBatis框架中的if標(biāo)簽的使用方法,包括動(dòng)態(tài)生成SQL語(yǔ)句、處理不同類型的參數(shù)和if標(biāo)簽進(jìn)行條件判斷,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • MyBatis核心配置文件深入分析

    MyBatis核心配置文件深入分析

    這篇文章主要介紹了MyBatis核心配置文件,MyBatis的前身就是iBatis,iBatis本是由Clinton Begin開(kāi)發(fā),后來(lái)捐給Apache基金會(huì),成立了iBatis開(kāi)源項(xiàng)目。2010年5月該項(xiàng)目由Apahce基金會(huì)遷移到了Google Code,并且改名為MyBatis
    2022-12-12
  • 解決SpringBoot2多線程無(wú)法注入的問(wèn)題

    解決SpringBoot2多線程無(wú)法注入的問(wèn)題

    這篇文章主要介紹了解決SpringBoot2多線程無(wú)法注入的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • Java并發(fā)之Condition案例詳解

    Java并發(fā)之Condition案例詳解

    這篇文章主要介紹了Java并發(fā)之Condition案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • idea?maven?經(jīng)常主目錄自動(dòng)變回默認(rèn)的解決方法

    idea?maven?經(jīng)常主目錄自動(dòng)變回默認(rèn)的解決方法

    很多朋友反映idea?maven?經(jīng)常主目錄自動(dòng)變回默認(rèn),遇到這樣的問(wèn)題真的很頭疼,該如何解決呢?下面小編給大家介紹下idea?maven目錄變回默認(rèn)的解決方法,需要的朋友可以參考下
    2022-08-08
  • JVM中對(duì)象的創(chuàng)建與OOP-Klass模型

    JVM中對(duì)象的創(chuàng)建與OOP-Klass模型

    這篇文章主要介紹了JVM中對(duì)象的創(chuàng)建與OOP-Klass模型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java springboot Mongodb增刪改查代碼實(shí)例

    Java springboot Mongodb增刪改查代碼實(shí)例

    這篇文章主要介紹了Java springboot Mongodb增刪改查代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java多線程之多線程異常捕捉

    Java多線程之多線程異常捕捉

    在java多線程程序中,所有線程都不允許拋出未捕獲的checked exception,也就是說(shuō)各個(gè)線程需要自己把自己的checked exception處理掉,通過(guò)此篇文章給大家分享Java多線程之多線程異常捕捉,需要的朋友可以參考下
    2015-08-08
  • java生成圖片驗(yàn)證碼功能

    java生成圖片驗(yàn)證碼功能

    最近在用ssm框架做一個(gè)管理系統(tǒng),做到登錄驗(yàn)證時(shí),需要實(shí)現(xiàn)圖片驗(yàn)證碼功能,今天小編給大家分享基于java制作的圖片驗(yàn)證碼功能,感興趣的朋友一起看看吧
    2019-12-12
  • Java調(diào)用Oracle存儲(chǔ)過(guò)程詳解

    Java調(diào)用Oracle存儲(chǔ)過(guò)程詳解

    這篇文章主要介紹了Java調(diào)用Oracle存儲(chǔ)過(guò)程詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02

最新評(píng)論

辽宁省| 沁源县| 萍乡市| 安义县| 仲巴县| 昌黎县| 静安区| 保定市| 隆德县| 无锡市| 武强县| 腾冲县| 章丘市| 高邑县| 恩平市| 保靖县| 康平县| 西畴县| 江都市| 皋兰县| 济南市| 灵武市| 那曲县| 同江市| 白朗县| 武邑县| 洛宁县| 四子王旗| 呼图壁县| 甘肃省| 芮城县| 江门市| 长武县| 扎鲁特旗| 紫金县| 时尚| 洛扎县| 邢台县| 遂昌县| 察隅县| 定陶县|