maven多模塊項目通常由一個父模塊和若干個子模塊構成,每個模塊都對應着一個pom.xml。它們之間通過繼承和聚合(也稱作多模塊)相互關聯。多模塊適用於一些比較大的項目,通過合理的模塊拆分,實現代碼的複用,便於維護和管理。
項目的總體目錄如下所示:
springboot-parent ------------ maven項目父目錄
springboot-common ------------公用模塊,用於存放一些實體類
springboot-interface -----------接口模塊,用於存放定義的接口
springboot-service ------------接口實現模塊,處理業務邏輯
springboot-api --------------- controller層,用於外部調用
1.創建maven項目父目錄
這裏我們先來溫習下groupId、artifactId、package這三個參數的一般填寫規範。
groupId和artifactId統稱爲“座標”,是爲了保證項目唯一性而提出的。groupId是項目組織唯一的標識符,實際對應JAVA的包的結構,ArtifactID是項目的唯一的標識符,實際對應項目的名稱,就是項目根目錄的名稱。groupId一般分爲多個段,一般第一段爲域,第二段爲公司名稱。舉個apache公司的tomcat項目例子:這個項目的groupId是org.apache,它的域是org,公司名稱是apache,artifactId是tomcat。包結構package最好是以groupId.artifactId打頭的
此項目創建的是Maven項目,對應得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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myapp</groupId>
<artifactId>springboot-parent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>springboot-interface</module>
<module>springboot-api</module>
<module>springboot-service</module>
<module>springboot-common</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!--日誌-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.7</version>
</dependency>
</dependencies>
</project>
2.創建springboot-common公用模塊
在springboot-parent 項目上右擊創建model項目,此模塊使用Maven創建,命名springboot-common,用於存放實體。
3.創建springboot-interface 接口模塊
在springboot-parent 項目上右擊創建model項目,此模塊使用Maven創建,命名springboot-interface,用於存放接口。
package com.myapp;
/**
* @author :zzb
* @createDate :2019/6/25 14:13
* @desc :
*/
public interface HelloService {
public String sayHello(String name);
}
下部分內容,請瀏覽下一篇 Springboot + Dubbo 構建多模塊項目 (二)