天天看點

JavaEE項目的目錄結構

一個好的、清晰的目錄結構可以友善日後的維護,可以幫助維護人員快速的定位到代碼檔案;

JavaEE的項目中(大多數都是web項目),有一些在業界中耳熟能詳的術語,比如:

dao(資料通路對象):持久層,主要負責與資料庫打交道,從模式的角度來說,dao中不應該有業務邏輯;

dto(資料傳輸對象):層間傳遞參數的對象;早期,方法的參數都是直接填寫的,如:void method(int i,int j);

這種直接填寫的參數有一些不友善之處,就是參數的順序要一一對應,兩三個參數倒是能應付,要是10個,8個的話,誰都得蒙圈;是以後來提出了DTO,一個基于javabean規範的對象,用于封裝參數。另外也可以考慮使用Map來封裝參數,但用Map封裝參數的話,需要明确key的定義;

service(BO) -  服務層,又叫業務層,我個人覺得業務層比較貼切;早期有一幫人把這一層成為BO(業務對象).

該層主要是放置業務邏輯的,涉及到的資料庫操作就調用dao。有些小型系統,我個人建議可以将這層去掉,直接将業務邏輯編寫在dao層中,少一層是一層啊;

controller(action) : 這貨是mvc中的‘c’,屬于web前端,位于view與service層之間。

ok,寫到這,與java相關的都介紹完了。下邊是一些與web相關的内容:

編寫web,主要包括:html,css,javascript,images等,還有就是jsp,或者模版檔案了;

有了上邊的内容,那麼建立一個合理清晰的項目目錄就不難了;

下邊是我推薦的一個目錄結構:

JavaEE項目的目錄結構

這是一個标準的eclipse工程;其中自定義的目錄有:

doc - 主要存放與該項目相關的文檔,比如er圖、用例文檔、設計文檔、使用者使用手冊等等。恺哥的建議是,盡量将項目相關的東西放在一起,一并加到版本控制庫進行管理,省着到時候張三一份,李四一份,都搞不清誰的是最新版本了,更有甚的是,費了九牛二虎之力寫的文檔最後找不到了。

src - 這是存放java以及配置檔案的主要目錄,其中有:

dao / dto / test

此處的包命名規則,我個人建議是這樣:

用dao包舉例:

dao的字首,是簽名;如:net.oschina.dao。其中net.oschina就是簽名字首;

dao的字尾,是子產品名稱;如:net.oschina.dao.blog。其中blog就是子產品名稱

對于dto下邊是否還需要按照子產品進行拆包,取決于系統的規模,如果規模很大,一個子產品就有很多dto的話,那還是建議與dao的子產品名稱規則一緻,比如:net.oschina.dto.blog

為什麼沒有service層?我個人的觀點是能少一層就少一層,越簡單越好,是以我提倡将業務邏輯與資料通路做到一起,這樣也友善維護代碼的時候,用ctrl跳來跳去。

test 目錄是存放一些測試檔案

web層的目錄結構:

标準的javaee規範要求,webapp必須有一個命名為WEB-INF的目錄,在該目錄之外的資源,使用者是可以通過浏覽器進行直接通路的,位于該目錄下的所有資源,使用者通過浏覽器是無法通路的,但内部servlet是可以進行調用的。是以很多mvc架構(如:springmvc)提倡,将jsp檔案放在WEB-INF目錄下進行保護,所有的jsp通路都通過servlet進行跳轉。

其實web層目錄結構沒啥好解釋的,已經一目了然了。

以上是根據我個人經驗寫的一邊小文章,歡迎交流、指正。希望對你能有一些幫助。

版權聲明:本文為CSDN部落客「weixin_34194087」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_34194087/article/details/91680886