0. 前言 該項目使用Maven進行管理和構建,所以需要預先配置好Maven。嗯,在這個系列里就不做過多的介紹了。 1. 創建項目 先創建一個pom.xml 文件,添加以下內容: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http: ...
0. 前言
該項目使用Maven進行管理和構建,所以需要預先配置好Maven。嗯,在這個系列里就不做過多的介紹了。
1. 創建項目
先創建一個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>club.attachie</groupId>
<artifactId>nature</artifactId>
<packaging>pom</packaging>
<version>${revision}</version>
<properties>
<revision>1.0-SNAPSHOT</revision>
</properties>
</project>
POM 全稱 project object model,也就是項目對象模型,它是maven項目的標註文件,採用XML格式,名稱就是pom.xml。這個文件用於管理源代碼、配置文件、開發者的信息和角色、問題追蹤系統、組織信息、項目授權、項目地址和依賴關係。
pom文件對於maven項目重要到,一個maven項目可以沒有其他的任何文件和內容,但絕對不能沒有pom.xml文件。
1.1 項目信息
pom文件中包含了項目的基本信息:
- groupId 組織名稱
- artifactId 項目名稱
- version 版本號
1.2 使用占位符
在pom中我們會使用很多項目的版本號,有時候還會使用一些其他的常量。如果常量分佈的比較零散,這樣就不利於我們的維護和管理。這時候就要引入占位符或者叫屬性。我們將需要的常量聲明在properties節點內:
<properties>
<revision>1.0-SNAPSHOT</revision>
</properties>
這種形式類似於 聲明瞭一個變數
revision=1.0-SNAPSHOT
在需要這個變數的時候,通過${revision}
使用即可。
2. 項目結構分層
在一個工業級的項目里,我們需要對項目進行一個合理的分層。這樣有利於開發和後期維護。
那麼,先在根目錄下添加這三個目錄:
- common 用來存放一些公共包
- activities 業務模塊所在的父包
- manager 用來存放一些Spring Cloud的一些管理工具,例如Spring boot admin、Spring Cloud Gateway等
分別在三個目錄下添加 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>club.attachie</groupId>
<artifactId>各自的項目名稱,建議是目錄名</artifactId>
<packaging>pom</packaging>
<version>${revision}</version>
<parent>
<groupId>club.attachie</groupId>
<artifactId>nature</artifactId>
<version>${revision}</version>
</parent>
</project>
並修改各自的artifactId。
然後註冊到根目錄的pom.xml,標記這三個項目為子項目。
<modules>
<module>common</module>
<module>activities</module>
<module>manager</module>
</modules>
然後運行:
mvn clean install
檢查一下配置是否有誤。
3. 引入公共依賴
Spring boot和Spring Cloud建立了對應的依賴包,可以讓我們在開發過程中不用過多的擔心一些常見項目與Spring boot和Spring Cloud的版本衝突問題。
先在根目錄下的pom.xml文件中聲明引入的 Spring boot版本號和Spring Cloud版本號:
<spring-boot.version>2.2.5.RELEASE</spring-boot.version>
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
創建依賴管理節點,並添加 Spring boot 和Spring Cloud依賴包:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在子包中需要用到的三方包,理應都由根目錄下的pom.xml進行管理,而管理的包都會放在dependencyManagement >> dependencies 節點下。
在項目中使用依賴,在pom.xml文件的project節點下添加如下節點,如果已有可以忽略,註意不是dependencyManagement下的。
<dependencies>
</dependencies>
試著添加lombok包(這個包是一個Java中很著名的包,可以省略Java中的get/set等方法的創建)。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
之所以沒有聲明版本號,是因為這個包已經由 spring-boot-dependencies 進行管理了。所以我們直接在這裡引入即可。
4. 總結
現在,我們搭建起了一個項目架子,裡面空蕩蕩的什麼都沒有,但這樣就形成了一個骨架,後期將為這個骨架豐富血肉,讓它的功能更加強大。
更多內容煩請關註我的博客《高先生小屋》