1. 程式人生 > >沒做過大專案,但我會建大專案

沒做過大專案,但我會建大專案

剛出來實習的時候,參與的專案使用的還是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的微信公眾號,我會將我的文章推送給您,並和您一起分享我日常閱讀過的優質文章。

相關推薦

專案我會建大專案

剛出來實習的時候,參與的專案使用的還是SSH框架。 那時候還在使用SVN進行版本管理,常常在合併程式碼的時候遇到各種莫名其妙的問題。 那時候使用著曾經宇宙最好用的Java IDE Eclipse寫程式碼,也沒有覺得介面簡陋影響編碼。 那時候還不知道啥s是微服務,只知道有需求了就把程式碼往單體專案的程式碼里加,

你可能“智慧製造”它肯定改變了你的生活

“智慧製造”這詞兒有點新鮮,一聽感覺和咱們沒什麼關係嘛,平時也很少接觸到相關的行業。可能學工科的同學、從事工業生產的朋友們會熟悉一些,那為啥說它改變了我們的生活呢?咱們慢慢道來。 從智慧製造的核心技術上來說,可以歸結為——大資料、物聯網、雲端計算。這個嘛,你絕對聽說過了,你看電視機裡頭天天講這些,那個男人經

幾個專案簡歷怎麼寫啊

有問有答是程式視界的一個免費問答欄目,感興趣的朋友,可以按照下面的方式參與: 在本文後留言,以有問有答開始(放心,這類留言不會被公開,只有被選中的留言會出現在週四晚釋出的文章內,同時可根據要求匿名)。// 或發郵件給 [email protected],標題註明“有問有答”。 描述你

scikit-learn: isotonic regression(保序回歸非常有意思知識點了解差點兒沒用到

reg 現象 最小 給定 推薦 替代 ble class net http://scikit-learn.org/stable/auto_examples/plot_isotonic_regression.html#example-plot-isotonic-regre

vue專案打包後文件怎麼辦如何優化載入速度

路由懶載入 const Home = () => import('./views/Home.vue'); const MyInfo = () => import('./views/MyInfo.vue'); 在.babelrc中 "plugins": ["@babe

第一次寫作業。 一定寫的不好我會努力改進。

() pass elif user pri == 作業 name 輸入 f = open("username.txt","r")y = f.read()#print(y)f.close()p = open("password.txt","r")p1 = p.read()#p

Batch Size設定對神經網路效能的影響情況

之前的一片博文寫了Batch Size的作用和應該如何設定比較合適,同時還有Batch Size大小,與學習率 lr l r lr、訓練次數 epoch

記錄一次刪除檔案磁碟沒有釋放空間的問題

上伺服器檢視/dev/xxx 掛載的/var 快滿了都過了90%,所以需要清理一下日誌檔案了df -h.../dev/xxx xxG xxG 1.0G 93% /var... 去/var/log中檢查到檔案cd /var/logls...-rw-------. 1 root root 26G 10月 20

寫給那些有用oracle儲存過程又準備學習的同志們

公司屬於外包公司,公司所用的是oracle資料庫,所以,避免不了操作oracle資料庫,而且動不動就是呼叫儲存過程,但是發現一個問題,對於儲存過程的學習還是有相對有限的系統性的學習資料。都是一些零碎的學習資料,東一榔頭西一棒槌。所以本人在這裡就給大家操作一波儲存過程,從基礎語

#程式設計師面試的時候題目都直接溜了網友:不想題唄!

程式設計師是一個神奇的職業,有很多程式設計師竟然是靠跳槽加薪的,今天要說的是一個關於跳槽面試的事情,面試的時候讓你做套面試題,給你倒杯水的功夫,你人怎麼就不見呢?這讓這個公司的HR百思不得其解。 如果有想要學習java的小夥伴,可來我們的java學習扣裙哦:72

未來很長我會努力的走下去。

java-bible 簡介:這裡記錄了一些 Java 相關的技術摘要 更多:作者   提 Bug    標籤: java- 這裡記錄了一些技術摘要,部分文章來自網路,本專案的目的力求分享精品技術乾貨,以 Java 為主。 如果你喜歡,star 便是,持續更新

螞蟻金服開放介面使用手記 適用於的老鳥和中鳥 (不適合菜鳥)

序言 說實在 因為自己一直很懶, 所以沒有去親自做過支付介面,只是大體瞭解相關流程.今天自己試了一天,發現這裡面還是有些坑的. 首先螞蟻金服相關開發文件 雖然已經很簡單了,但是還是比較亂的; 他們家的很多專業概念, 沒有比方說明, 普通人不好懂只能先亂入;

勒索病毒不知道備份有多重要

今天是春節放假前的最後一天,照例對自己一些資料開始進行了備份。突然想到關於資料備份有些心得想要分享下,於是寫了這篇文章。 點此進入公眾號檢視。 為什麼備份很重要 你沒吃過虧,可能永遠不明白資料有多珍貴。我在去年8月的時候中過臭名昭著的勒索病毒zep

吐槽以及總結(記第一次去客戶專案第一次負責專案的經歷)

我最近近一個半月,忙的真的讓我迷茫了!專案實在是太變態了,客戶!呵呵,原定45天的開發時間硬生生被客戶反悔壓縮到21天預上線,造成這樣,就是因為甲方公司的領導的一句話。。。。連續上班30小時還不讓休息,每天11點之後下班,週末還經常加班的日子真的是日了狗了!!(...此處省略一千字) 我是前端負

HTML之dl、dt、dd(也許這是你還沒用的標籤它們非常實用)

一、dl dt dd認識 html <dl> <dt> <dd>是一組合標籤,使用了dt dd最外層就必須使用dl包裹,此組合標籤我們也又叫表格標籤,與table表格類似組合標籤,故名我們也叫dl表格(擴充套件閱讀:table tr

tomcat啟動成功並能執行專案無法顯示那隻小貓

今天無意中遇到這個問題,很奇怪,一番search之後,發現了原因(可能是原因之一,不一定適合每種情況) 1.最好是本地(不用IDE)啟動tomcat,看看情況,是否能成功啟動,是否能顯示tom貓 2.如果第一步,能啟動成功,但仍然不顯示tom貓,注意檢查一下,tomat的w

解決問題:eclipse啟動tomcat後 可以訪問專案進入不了localhost:8080首頁

解壓版 配置 1:環境變數 2: cmd 命令 輸入->    service.bat  install 我成功啟動了tomcat,可以訪問專案-比如 網址輸入http://localhos

ios內購(iap)關於問題“您已經購買了此程式內購買(In App Purchase)專案尚未下載"的解決方案

近日在專案內購中遇到“您已經購買了此程式內購買(In App Purchase)專案,但尚未下載”的問題,查閱google和百度各種文章,沒找到合適的解決方案,折騰一整天,終於解決,解決方案貼出來,供大家參考。也是為了驗證這個方案的正確性。歡迎拍磚! 首先說說出現這個問題的

cordova整合sencha touch建立APP專案以及Android Studio專案匯入和打包

-------------------目錄結構-------------------------------------------         \app                                                          

spring cloud系列教程(3)----父專案公共專案部門提供/消費專案建立

給大家推薦個靠譜的公眾號程式設計師探索之路,大家一起加油 ​   要求知道,父,公共專案建立的意義。 父專案:所有子專案所用的jar包,版本號定義 公共專案:只需要在一個專案中定義實體等等所有專案都可以用 部門提供專案:簡單的一個springboot+myba