沒做過大項目,但我會建大項目


剛出來實習的時候,參與的項目使用的還是SSH框架。

那時候還在使用SVN進行版本管理,常常在合並代碼的時候遇到各種莫名其妙的問題。

那時候使用着曾經宇宙最好用的Java IDE Eclipse寫代碼,也沒有覺得界面簡陋影響編碼。

那時候還不知道啥s是微服務,只知道有需求了就把代碼往單體項目的代碼里加,而且是前端和后台代碼放一起的那種。什么Vue、React、Angular,不存在的,jQuery搞定一切。

因為項目小,或者因為業務並不復雜,雖然項目代碼都放一塊,但是勉強還可以看,找相關的代碼也算比較快。

后來,慢慢接觸到了一些大點的項目,而且微服務的設計理念也更加盛行和深入人心。所以,我們會發現在當今宇宙最好的JAVA IDE Intellij IDEA中多了越來越多的微服務項目,日益膨脹的業務,讓我們在找相應的項目以及代碼的時候力不從心。

所以,這時候項目的編排就很重要,換句話說就是,大項目應該有大項目的樣子。這篇就來看看我們如果在Intellij IDEA中搭建項目目錄結構清新的大項目。

項目結構對比

項目划分前

這時候如果要添加代碼,我們會在項目里面通過創建各個package用於區分業務代碼,或者新建平級的module。

項目划分后

如何創建有層次的大項目框架

1、創建root項目

點擊File->new->Project,點擊圖中的左側的maven,創建一個maven父級項目

點擊next,進入下一步

2、填寫maven坐標項目

因為創建的是maven項目,所以需要定義groupId和artifactId,自己填寫即可

點擊next,進入下一步

3、確認項目信息並完成父級項目創建

4、父級項目概覽

這就是一個再普通不過的maven項目,下面我們需要在這個項目中新建子module。

5、創建聚合項目

我們在微服務開發模式下經常需要開發一個接口服務,同時可能還需要一個用於同步數據的服務,如果我們把這兩個服務散落在root項目目錄下,有時候因為命名而隔得很遠,找代碼也不方便。

這時候就需要一個聚合項目,該項目用於編排某個服務項目的原子項目(xxx),如服務的實現項目("xxx-service"),服務的接口項目("xxx-api"),服務的同步數據項目("xxx-sync")。

這里我們就創建一個聚合項目spring

5.1 創建“spring”項目

在root項目上右鍵選擇new->module

5.2 創建一個maven的“spring”項目

點擊next,進入下一步

5.3 填寫maven的坐標信息

注意這里因為是在root下新建子module,所以這里有個“Parent”選項,即繼承了root項目,填寫下artifactId即可。

點擊next,進入下一步

5.4 確認項目信息並完成聚合項目創建

5.5 聚合項目概覽

注意這里聚合項目“spring”已經創建成功,點擊root項目的pom文件,可以看到已經多了 屬性標簽,如右圖所示。

6、創建聚合項目下的子項目

有了聚合項目,我們就可以在“spring”下創建子項目了,具體步驟如下

6.1 創建聚合項目下的子項目

在“spring”項目上右鍵new->module,這時候我們選擇創建一個springboot的項目

點擊next,進入下一步

6.2 填寫項目基本信息

填寫好springboot項目的maven坐標信息

點擊next,進入下一步,一直到確認信息頁面

6.3確認項目信息

注意這里默認content root和module file location只到/Users/jackie/workspace/root/spring,但是我們要創建的是springboot項目,位於聚合項目下的子項目。所以需要將兩個變量的信息改為如圖所示,即加上新建項目的名稱信息。

我在這里嘗試過幾次,都沒有加上子項目的名稱,導致新建的項目一直和聚合項目平級,無法起到聚合的目的,所以這里需要格外注意。

6.4 聚合項目下的子項目概覽

這里“spring”作為聚合項目,可以將該目錄下的src目錄刪除,僅保留pom文件用於編排子項目。

至此,我們完成了基本父級項目的創建,聚合項目的創建以及聚合項目下子項目的創建。

看完這邊,相信再復雜的目錄結構層次也難不倒你了。

如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”將是我最大的寫作動力!如果您想持續關注我的文章,請掃描二維碼,關注JackieZheng的微信公眾號,我會將我的文章推送給您,並和您一起分享我日常閱讀過的優質文章。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM