一、簡介
SpringBoot是一個高效的工具,它能夠快速便捷地創建一個整體完整的項目,而且能夠與各種其他的框架集成。對於一個大型的項目來說,一個整體完整的項目可能並不是最好的方案。為了解決這個問題,我們可以採用多模塊的方式進行項目開發,這樣既能夠實現獨立部署,也能夠進一步提高開發效率。
二、創建多模塊項目
在創建多模塊項目之前,需要明確一個概念,就是模塊(module)。模塊是指一組代碼和資源的集合,它可以單獨編譯、測試、打包和部署。在Java中,模塊通常使用Maven或Gradle管理。在SpringBoot中,我們也可以使用Maven或Gradle來維護多模塊項目。接下來,我們一步一步進行多模塊項目的創建。
1. 創建父項目
在創建多模塊項目的時候,通常需要先創建一個父項目(pom項目),這個父項目的作用是維護所有子模塊的公共依賴,比如SpringBoot版本號、資料庫連接池等等。創建父項目的方式略有不同,因為這個項目沒有實際功能,僅僅是為了維護所有子模塊的公共依賴,所以代碼極簡。
<?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">
<groupId>org.example</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>child1</module>
<module>child2</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</project>
2. 創建子模塊
在創建子模塊之前,需要再次強調一下,每個子模塊都是一個獨立、可編譯、可測試、可打包、可部署的Maven項目,與其他模塊相互獨立。這裡我們以兩個子模塊為例,分別命名為child1和child2。在子模塊中,我們需要維護自己的業務邏輯和依賴,而且需要關注父模塊是否繼承父模塊相應的依賴。
子模塊1:child1
在child1的目錄下創建一個Maven項目,名字為child1,並在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>
<groupId>org.example</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>org.example</groupId>
<artifactId>child1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
子模塊2:child2
同理,在child2的目錄下創建一個Maven項目,名字為child2,並在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>
<groupId>org.example</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>org.example</groupId>
<artifactId>child2</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc10</artifactId>
<version>19.3.0.0</version>
</dependency>
</dependencies>
</project>
三、集成子模塊
在創建完父模塊和子模塊後,下一步就是要將所有模塊集成起來。在父模塊的pom.xml中添加子模塊,關鍵代碼如下:
<modules>
<module>child1</module>
<module>child2</module>
</modules>
完成後你將會看到一個與父項目名稱相同的頂級文件夾,該文件夾名就是頂級父項目的名稱,這個文件夾存儲著所有子模塊。在此文件夾中打開命令提示符或終端,輸入以下命令:
mvn clean install
完整代碼請參見:https://github.com/xiaomuworld/springboot-multimodule-demo
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/279181.html