線上服務咨詢
我在贛州沒做過大項目,但我會建大項目
發表時間:2018-02-14
文章來源:
瀏覽次數:75
剛出來實習的時候,參與的項目使用的還是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文件用于編排子項目。
至此,我們完成了基本父級項目的創建,聚合項目的創建以及聚合項目下子項目的創建。
看完這邊,相信再復雜的目錄結構層次也難不倒你了。