手把手教你制作一個基于DDD的Maven腳手架,省時省力還省心!
有粉絲問我:“用DDD開發(fā)項目時,每個業(yè)務(wù)模塊都要包含四個分層:接口層(Interface Layer)、應(yīng)用層(Application Layer)、領(lǐng)域?qū)樱―omain Layer)、基礎(chǔ)設(shè)施層(Infrastructure Layer)。問題來了,每次創(chuàng)建一個新的業(yè)務(wù)模塊,都得手動創(chuàng)建這四個Maven模塊,手動添加簡直太麻煩了!有沒有什么更快捷的方式?”
別擔(dān)心,今天就來解決這個問題:手把手教你如何制作一個Maven腳手架,輕松提高開發(fā)效率,避免重復(fù)勞動,直接提升幸福感!
1、生成腳手架原型工程
步驟一:創(chuàng)建基于DDD的多模塊項目 ddd-archetype
首先,創(chuàng)建一個基于DDD的多模塊項目 ddd-archetype,在這個項目中,我們需要添加DDD的分層模型??磮D:
圖片
在每個具體的模塊中,我們要創(chuàng)建DDD需要的 java package,并且在這些空包中創(chuàng)建一個名為 .keep 的空文件。
為什么要這樣做?這是因為默認情況下,腳手架模板會忽略空的文件夾,而我們通過添加 .keep 文件,能夠保證在后續(xù)創(chuàng)建項目時,這些空文件夾會被自動生成,包名也能對得上。
同時,在ddd-archetype項目的 pom.xml 文件中,需要引入 maven-archetype 插件,通過此插件可以生成腳手架原型工程文件。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>3.3.1</version>
</plugin>
</plugins>
</build>
再創(chuàng)建一個名為 archetype.properties 的配置文件,內(nèi)容如下:
excludePatterns=.idea/*,.git,*.iml,.idea/
gitignore=.gitignore
好了,準(zhǔn)備工作完成,接下來進入最重要的步驟!
步驟二:生成原型文件
接著,打開IDEA,找到右側(cè)的 Maven 插件管理器,選擇并執(zhí)行 archetype:create-from-project 命令,這樣就能生成原型文件了!
圖片
執(zhí)行完后,你會在 ddd-archetype 項目的 target 文件夾下找到生成的原型工程。在這個原型文件里,已經(jīng)生成了五個模塊目錄。這就是我們準(zhǔn)備好的“模板”,未來的新項目都可以直接用它來快速搭建!
圖片
打開生成的文件可以發(fā)現(xiàn)有不少占位符,解釋如下:
- _rootArtifactId_:文件夾名替換用。比如:_rootArtifactId_-dao,用來動態(tài)獲取父工程的 ArtifactId。
- ${rootArtifactId}:保存用戶輸入的值作為項目名,簡單來說,它就是你在創(chuàng)建項目時輸入的名字。
- ${artifactId}:如果項目只有一個模塊,這個值跟 ${rootArtifactId} 相同;如果有多個模塊,它會被替換成每個模塊的名字。
- ${groupId}:你為項目提供的 groupId,Maven 會在提示時詢問你。
- ${version}:就是版本號,老實說,它可以是你想要的任何數(shù)字,但通常我們會用 1.0-SNAPSHOT。
2、將腳手架安裝到本地
接下來,我們要做的就是安裝這個腳手架。進入剛剛生成的原型文件夾,執(zhí)行 mvn clean install 命令,安裝腳手架到本地。
$ pwd
D:\GitSpace\ddd-archetype\target\generated-sources\archetype
$ mvn clean install
執(zhí)行完后,你會看到類似如下的日志,表示腳手架安裝成功:
[INFO] --- maven-archetype-plugin:3.3.1:update-local-catalog (default-update-local-catalog) @ ddd-archetype-archetype ---
[INFO] Updated local archetypes catalog D:\maven\repository\archetype-catalog.xml
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.526 s
[INFO] Finished at: 2024-12-02T16:01:52+08:00
[INFO] ------------------------------------------------------------------------
安裝成功后,archetype-catalog.xml 文件會被更新,這個文件決定了在哪里尋找可以運行的原型來生成目標(biāo)項目。打開它,你會看到自己剛剛創(chuàng)建的腳手架內(nèi)容:
<archetype>
<groupId>com.jianzh5</groupId>
<artifactId>ddd-archetype-archetype</artifactId>
<version>1.0-SNAPSHOT</version>
<description>ddd-archetype-archetype</description>
</archetype>
3、應(yīng)用腳手架,快速生成DDD項目
好了,最后一步,開始用腳手架創(chuàng)建你的DDD項目!在IDEA中,創(chuàng)建新項目時,先配置 Maven Catalogs,如下圖所示,添加一個名為 ddd 的 Catalog,Location 選擇 archetype-catalog.xml 所在目錄(在我這里是 D:\maven\repository)。
圖片
然后輸入你想要創(chuàng)建的項目名稱,點擊“創(chuàng)建”,你就能根據(jù)選定的腳手架生成一整套的模塊目錄,效果如下:
圖片
圖片
以后只需要選個腳手架模板,輸入項目名,剩下的交給腳手架來搞定!