Spring Boot -05- 多模塊結構項目構建與測試(詳細圖文教程)IDEA 版


Spring Boot -05- 多模塊結構項目構建與測試(詳細圖文教程)IDEA 版

百度很多博客都不詳細,弄了半天才把 Spring Boot 多模塊項目構建開發整的差不多,特地重新創建配置,記錄一下,也分享給有需要的人

本篇也會非常詳細的介紹涉及的基礎知識點,更多都寫在注釋上了

先放成功截圖:
(1)項目結構:

(2)啟動:
在這里插入圖片描述
(3)測試主子模塊:

(4)測試子模塊依賴:

第一步:創建父模塊,子模塊

(1)打開創建項目窗口,點擊 Create New Project

在這里插入圖片描述

(2)填寫
在這里插入圖片描述

(3)填寫
在這里插入圖片描述

(4)Maven 自動導入
在這里插入圖片描述

(5)沒有 iml 文件,請重新創建,請看截圖:
在這里插入圖片描述

(6)在父項目上,右鍵新建模塊
在這里插入圖片描述

(7)這里用 xpwi-main
在這里插入圖片描述
(8)填寫

(提示:這個名字建議個上面的一致,不然項目名和文件夾名不一致哈)
在這里插入圖片描述

(9)依次類推,創建自己需要的子模塊
(10)然后去創建包,示例:

第二步:父 pom.xml 配置

請查看詳細注釋,根據自己的項目修改

注意:

  • 子模塊那個是不需要配置的,由創建時自動生成
  • dependencyManagement 也在注釋上講解了
<?xml version="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">
    <modelVersion>4.0.0</modelVersion>

    <!--基本信息-->
    <description>Spring Boot 多模塊構建示例</description>
    <groupId>com.xpwi</groupId>
    <artifactId>first-springboot</artifactId>
    <!--父 pom 的 packing 必須為 pom,請核查-->
    <packaging>pom</packaging>
    <version>1.0.0</version>

    <!--指定整個項目的父項目-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
    </parent>

    <!--模塊:這里聲明多個子模塊 -->
    <!--注意,這個不用手動自己去寫,因為創建的時候是會自動生成的-->
    <modules>
        <module>xpwi-test</module>
        <module>xpwi-main</module>
        <module>xpwi-login</module>
    </modules>

    <!--屬性變量配置-->
    <properties>
        <java.version>1.8</java.version>
    </properties>

    <!--加載依賴管理-->
    <!--注意:如果使用dependencyManagement,只是對版本進行管理,不會直接引入jar  -->
    <!--是為了在這里配置版本,為了讓子模塊pom或者本pom的直接dependencies不單獨配置版本 -->
    <!--如果沒有版本,會先到這里找版本號,以免版本沖突  -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>2.0.5.RELEASE</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!--公共模塊加載,非公共模塊請一般放在子pom進行加載-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

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

</project>

第三步:子 pom.xml 配置

請查看詳細注釋,根據自己的項目修改

注意:

  • 父模塊依賴
  • 子模塊與子模塊依賴
<?xml version="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">
    <parent>
        <artifactId>first-springboot</artifactId>
        <groupId>com.xpwi</groupId>
        <version>1.0.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>xpwi-main</artifactId>
    <dependencies>

        <!--這個已經移動到父 pom 了-->
        <!--<dependency>-->
        <!--<groupId>org.springframework.boot</groupId>-->
        <!--<artifactId>spring-boot-starter-web</artifactId>-->
        <!--</dependency>-->

        <!--現在是去加載自己創建的模塊-->
        <!--就是加載子模塊對子模塊的依賴-->
        <dependency>
            <groupId>com.xpwi</groupId>
            <artifactId>xpwi-test</artifactId>
            <version>1.0.0</version>
        </dependency>

        <dependency>
            <groupId>com.xpwi</groupId>
            <artifactId>xpwi-login</artifactId>
            <version>1.0.0</version>
        </dependency>

    </dependencies>


</project>

第四步:創建啟動類,本模塊測試類

(1)創建兩個文件

(2)啟動類 App.java 源代碼:

package com.xpwi.main;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

/**
 * 描述:Spring Boot 多模塊測試項目
 * @author Xiao Pengwei
 * @since  2019-03-25
 */

@SpringBootApplication
@RestController
//掃描 main,test 模塊中的下的所有包
//在 pom 加載子模塊依賴才可以騷包
@ComponentScan({"com.xpwi.main","com.xpwi.test"})
public class App {

    public static void main(String[] args) {
        //啟動 Web 容器
        SpringApplication.run(App.class, args);
        System.out.println("[啟動成功]"+new Date());
    }
}

(3)MainController.java 文件源代碼:

package com.xpwi.main.controller;

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

/**
 * 描述:本模塊測試類
 * @author Xiao Pengwei
 * @since  2019-03-25
 */

@RestController
@RequestMapping("/main")
public class MainController {

    //請求映射,當請求 /main/test 時執行該方法
    @RequestMapping("/test")
    public String home() {
        return "Hello Main!";
    }
}

第五步:子模塊依賴測試類

(1)結構:

(2)TestController 文件源代碼:

package com.xpwi.test.controller;

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

/**
 * 描述:子模塊依賴測試
 * @author Xiao Pengwei
 * @since  2019-03-25
 */

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

    //請求映射,當請求 /home 時執行該方法
    @RequestMapping("/test")
    public String home() {
        return "Hello Test!";
    }
}

第六步:啟動與測試

(1)啟動:
在這里插入圖片描述
(2)測試主子模塊:

(3)測試子模塊依賴:

自定義 banner

一鍵加技術朋友群


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM