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

idea創(chuàng)建Springboot多模塊項(xiàng)目(聚合項(xiàng)目)

 更新時(shí)間:2024年11月16日 16:57:43   作者:清風(fēng)凌雪  
文章詳細(xì)介紹了如何在idea創(chuàng)建Springboot多模塊項(xiàng)目(聚合項(xiàng)目),包括創(chuàng)建父工程和子工程、編輯pom.xml文件、編寫代碼和測(cè)試,還介紹了如何處理Maven視圖中的層級(jí)關(guān)系,并展示了如何同時(shí)啟動(dòng)多個(gè)子項(xiàng)目

1. 創(chuàng)建父工程

1.1 創(chuàng)建一個(gè)新項(xiàng)目

1.1.1 方式一

打開 New Project --> Maven Archetype

1.1.2 方式二

或者 New Project -->New project

新版本idea是 New Project -->Java

1.2 編輯父項(xiàng)目pom.xml文件信息

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <!-- 項(xiàng)目基本信息:這里作為聚合工程的父工程 -->
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.qfx</groupId>
  <artifactId>springboot-parentProject</artifactId>
  <!-- packaging要設(shè)置為pom -->
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>springboot-parentProject</name>
  <description>這是一個(gè)基于Maven的SpringBoot聚合項(xiàng)目父工程示例</description>

  <!-- 繼承說明:設(shè)置父類,整合第三方常用框架依賴信息(各種依賴信息),這里繼承SpringBoot提供的父工程 -->
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.4</version>
    <relativePath /> <!-- lookup parent from repository -->
  </parent>

  <!-- 設(shè)置公共參數(shù) -->
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <!-- Maven install 時(shí),測(cè)試環(huán)境@Test中如果有中文輸出是亂碼,加上這句話試試 -->
    <argLine>-Dfile.encoding=UTF-8</argLine>
  </properties>

  <dependencies>
    <!-- 1.引入springboot核心包,整合SpringMVC Web組件,包含了spring-boot-starter -->
    <!-- 實(shí)現(xiàn)原理:Maven依賴?yán)^承關(guān)系,相當(dāng)于把第三方常用Maven依賴信息,在parent項(xiàng)目中已經(jīng)封裝好了 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- 2.引入SpringBoot測(cè)試場(chǎng)景啟動(dòng)器 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <!-- 指定war包或jar包名稱,以此處為準(zhǔn),否則會(huì)帶上版本號(hào) -->
    <finalName>${project.name}</finalName>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

</project>

1.3 刪除多余文件

刪除多余的文件,僅保留.idea、.gitignore和pom.xml文件即可

項(xiàng)目結(jié)構(gòu)如下:

2. 創(chuàng)建子工程

2.1 創(chuàng)建一個(gè)新項(xiàng)目

選中父項(xiàng)目,右鍵 --> New -->Module...

2.1.1 方式一

選擇Maven Archetype

2.1.1 方式二

選擇 New Module

新版idea選擇New Module下面的Java

項(xiàng)目結(jié)構(gòu)如下:

2.2 查看父項(xiàng)目的pom.xml

可以看到父項(xiàng)目的pom.xml文件中新增了一個(gè)<modules></modules>模塊,里面已經(jīng)引用了剛剛創(chuàng)建的子項(xiàng)目

2.3 編寫子項(xiàng)目pom.xml文件信息

<"1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <!-- 項(xiàng)目基本信息:這里作為聚合工程的子工程 -->
    <modelVersion>4.0.0</modelVersion>
    <artifactId>springboot-child01</artifactId>
    <!-- 打包方式設(shè)置為jar,默認(rèn)jar(可不設(shè)置) -->
    <packaging>jar</packaging>
    <description>這是一個(gè)基于Maven的SpringBoot聚合項(xiàng)目子工程示例</description>

    <!-- 設(shè)置父類,,這里繼承springboot-parentProject父工程 -->
    <parent>
        <groupId>com.qfx</groupId>
        <artifactId>springboot-parentProject</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    
</project>

2.4 Maven視圖展示

如果右側(cè)的Maven部分出現(xiàn)父項(xiàng)目和子項(xiàng)目同級(jí)的情況,如下圖:

選中父項(xiàng)目 --> 右鍵 --> Unlink Maven Projects

--> Remove

--> Load Maven Project

可以看到層級(jí)可以正常顯示了

3. 測(cè)試

3.1 創(chuàng)建子項(xiàng)目啟動(dòng)類

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class RunAppChild01 {
    public static void main(String[] args) {
        SpringApplication.run(RunAppChild01.class, args);
    }
}

3.2 創(chuàng)建子項(xiàng)目測(cè)試類

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("test01")
public class TestController {

    @RequestMapping("hello")
    public String hello() {
        return "Hello world!";
    }
}

3.3 編譯項(xiàng)目

點(diǎn)擊父項(xiàng)目的install,如果有很多子項(xiàng)目,就可以省去一個(gè)一個(gè)編譯的問題

3.4 測(cè)試子項(xiàng)目

啟動(dòng)子項(xiàng)目,然后訪問剛剛編寫的Controller請(qǐng)求

4. 擴(kuò)展

  • 重復(fù)第二步"創(chuàng)建子工程",可以創(chuàng)建多個(gè)子項(xiàng)目
  • 想要同時(shí)啟動(dòng)多個(gè)子項(xiàng)目,需要保證每個(gè)子項(xiàng)目的端口不一樣,否則啟動(dòng)會(huì)報(bào)端口沖突的錯(cuò)誤

5.總結(jié)

文章詳細(xì)介紹了如何在idea創(chuàng)建Springboot多模塊項(xiàng)目(聚合項(xiàng)目),包括創(chuàng)建父工程和子工程、編輯pom.xml文件、編寫代碼和測(cè)試,還介紹了如何處理Maven視圖中的層級(jí)關(guān)系,并展示了如何同時(shí)啟動(dòng)多個(gè)子項(xiàng)目。

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

相關(guān)文章

  • java如何判斷Date是上午還是下午

    java如何判斷Date是上午還是下午

    文章介紹了三種在Java中判斷Date對(duì)象是上午還是下午的方法:使用Calendar類、使用Java 8的java.time包以及使用SimpleDateFormat進(jìn)行格式化輸出,每種方法都有代碼示例和解釋,幫助開發(fā)者根據(jù)具體需求選擇合適的方法
    2025-03-03
  • Java語(yǔ)言基于無向有權(quán)圖實(shí)現(xiàn)克魯斯卡爾算法代碼示例

    Java語(yǔ)言基于無向有權(quán)圖實(shí)現(xiàn)克魯斯卡爾算法代碼示例

    這篇文章主要介紹了Java語(yǔ)言基于無向有權(quán)圖實(shí)現(xiàn)克魯斯卡爾算法代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 全面解釋java中StringBuilder、StringBuffer、String類之間的關(guān)系

    全面解釋java中StringBuilder、StringBuffer、String類之間的關(guān)系

    String的值是不可變的,這就導(dǎo)致每次對(duì)String的操作都會(huì)生成新的String對(duì)象,不僅效率低下,而且大量浪費(fèi)有限的內(nèi)存空間,StringBuffer是可變類,和線程安全的字符串操作類,任何對(duì)它指向的字符串的操作都不會(huì)產(chǎn)生新的對(duì)象,StringBuffer和StringBuilder類功能基本相似
    2013-01-01
  • Spring基于注解配置事務(wù)的屬性

    Spring基于注解配置事務(wù)的屬性

    這篇文章主要為大家詳細(xì)介紹了Spring基于注解配置事務(wù)的屬性,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Java中l(wèi)ock和tryLock及l(fā)ockInterruptibly的區(qū)別

    Java中l(wèi)ock和tryLock及l(fā)ockInterruptibly的區(qū)別

    這篇文章主要介紹了Java中l(wèi)ock和tryLock及l(fā)ockInterruptibly的區(qū)別,文章介紹詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • JAVA實(shí)現(xiàn)sm3加密簽名以及防止重復(fù)攻擊

    JAVA實(shí)現(xiàn)sm3加密簽名以及防止重復(fù)攻擊

    這篇文章主要給大家介紹了關(guān)于JAVA實(shí)現(xiàn)sm3加密簽名以及防止重復(fù)攻擊的相關(guān)資料,SM3是簽名算法,和MD5一樣(對(duì)于應(yīng)用層來說),SM4是對(duì)稱加密算法,和AES一樣(對(duì)于應(yīng)用層來說),需要的朋友可以參考下
    2023-10-10
  • Java編程子類能否重寫父類的靜態(tài)方法探索

    Java編程子類能否重寫父類的靜態(tài)方法探索

    關(guān)于子類能否重寫父類的靜態(tài)方法,對(duì)像我這種初級(jí)的編程愛好者來說仍是值得討論的一件事,下面我們通過具體實(shí)例,對(duì)此問題進(jìn)行簡(jiǎn)單的探索。
    2017-10-10
  • Netty分布式ByteBuf使用directArena分配緩沖區(qū)過程解析

    Netty分布式ByteBuf使用directArena分配緩沖區(qū)過程解析

    這篇文章主要介紹了Netty分布式ByteBuf使用directArena分配緩沖區(qū)過程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Java Process類的詳解及實(shí)例代碼

    Java Process類的詳解及實(shí)例代碼

    這篇文章主要介紹了Java Process類的詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • springboot配置nacos的實(shí)現(xiàn)示例

    springboot配置nacos的實(shí)現(xiàn)示例

    本文將介紹如何在Spring?Boot中配置Nacos,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09

最新評(píng)論