您好,登錄后才能下訂單哦!
做了多年的開發,原來很多項目都是一個項目一個工程,如果用到其他的項目的依賴文件的時候的,直接手動copy過來就可以了,自從有了maven后,很多開源的項目和互聯網公司都開始使用maven來構建聚合項目,通過聚合項目來解決單個項目龐大的問題。
單結構工程
使用Java技術開發的工程項目,無論是數據處理系統還是Web網站,隨著項目的不斷發展,需求的不斷細化與添加,工程項目中的代碼越來越多,包結構也越來越復雜這時候工程的進展就會遇到各種問題:
不同方面的代碼之間相互耦合,這時候一系統出現問題很難定位到問題的出現原因,即使定位到問題也很難修正問題,可能在修正問題的時候引入更多的問題。
多方面的代碼集中在一個整體結構中,新入的開發者很難對整體項目有直觀的感受,增加了新手介入開發的成本,需要有一個熟悉整個項目的開發者維護整個項目的結構(通常在項目較大且開發時間較長時這是很難做到的)。
開發者對自己或者他人負責的代碼邊界很模糊,這是復雜項目中最容易遇到的,導致的結果就是開發者很容易修改了他人負責的代碼且代碼負責人還不知道,責任追蹤很麻煩。
將一個復雜項目拆分成多個模塊是解決上述問題的一個重要方法,多模塊的劃分可以降低代碼之間的耦合性(從類級別的耦合提升到jar包級別的耦合),每個模塊都可以是自解釋的(通過模塊名或者模塊文檔),模塊還規范了代碼邊界的劃分,開發者很容易通過模塊確定自己所負責的內容。
使用maven搭建分層的聚合工程
>maven的多模塊劃分還是比較直觀的,每個模塊都是一個獨立的maven項目,模塊之間的相互引用和maven中對jar包依賴的解決是一致的,這使得物理(jar)和邏輯(dependency)上得以保持一致。
建立一個parent 或者root工程,相當于一個籃子,籃子里面放其他工程。
common 任何枚舉類和工作類,好處是所有其他的工程都可以相依賴,跨工程,跨項目來使用是沒有問題的。
pojo 所有工程脫離出來的,dao層和service之上的。
mpper(dao)數據層要跟數據庫交互的時候需要pojo,所以mpper層要在pojo之上。
service 引入dao 和 pojo類 common引入。
最后一層是開放層,api 接口層對外開發,可以支持手機端的調用,小程序的調用。web層后臺的pc端登錄的也要依賴service層。
PS:其實不光是api和web層還有可能有什么文件管理層,權限層等等。都可以通過一層一層調用的方式不斷的進行擴張,減少代碼很方便。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。