該項目使用Maven進行管理和構建,因此須要預先配置好Maven。嗯,在這個系列裏就不作過多的介紹了。spring
先建立一個pom.xml 文件,添加如下內容:apache
<?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。這個文件用於管理源代碼、配置文件、開發者的信息和角色、問題追蹤系統、組織信息、項目受權、項目地址和依賴關係。maven
pom文件對於maven項目重要到,一個maven項目能夠沒有其餘的任何文件和內容,但絕對不能沒有pom.xml文件。ide
pom文件中包含了項目的基本信息:spring-boot
groupId 組織名稱工具
artifactId 項目名稱spa
version 版本號3d
在pom中咱們會使用不少項目的版本號,有時候還會使用一些其餘的常量。若是常量分佈的比較零散,這樣就不利於咱們的維護和管理。這時候就要引入佔位符或者叫屬性。咱們將須要的常量聲明在properties節點內:code
<properties>
<revision>1.0-SNAPSHOT</revision>
</properties>
這種形式相似於 聲明瞭一個變量xml
revision=1.0-SNAPSHOT
在須要這個變量的時候,經過${revision}
使用便可。
在一個工業級的項目裏,咱們須要對項目進行一個合理的分層。這樣有利於開發和後期維護。
那麼,先在根目錄下添加這三個目錄:
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
檢查一下配置是否有誤。
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 進行管理了。因此咱們直接在這裏引入便可。
如今,咱們搭建起了一個項目架子,裏面空蕩蕩的什麼都沒有,但這樣就造成了一個骨架,後期將爲這個骨架豐富血肉,讓它的功能更增強大。