做了那麼多項目,真正的項目結構你未必知道!

做項目時有沒有出現新建一個文件不知該放哪,有沒有出現過找不到自己寫的代碼,這次帶你一次性梳理好項目結構。

本項目結構參考《阿里巴巴Java開發手冊》製作,也是多數中大型項目的架構。當然,還是要以需求爲主,如果是練習的小項目完全不必按照此項目結構進行項目創建。小型項目創建的粒度太細只會適得其反。

1. 基本結構圖

這一部分絕大多數程序猿是知道的
基本結構

  • /src/main/java :Java源代碼
  • /src/main/resources:配置文件與靜態文件
  • /src/test/java:測試用的Java代碼

2. java源代碼的結構

java源代碼的結構

  • annotation :項目內的自定義註解
  • aspect:切面代碼(AOP)
  • config:配置類
  • constant:常量、枚舉層
  •     consist:常量
  •     enums:枚舉
  • controller:前端控制器
  • filter:過濾器、攔截器
  • mapper:數據訪問層
  • model:數據模型
  •     dto:數據傳輸對象
  •     entity:數據庫實體類
  •     vo:顯示層對象
  • service:業務邏輯
  •     intf:接口定義
  •     impl:接口實現
  • utils:工具類

《阿里巴巴Java開發手冊》分層領域模型規約:
DO(Data Object) :與數據庫表結構一一對應,通過 DAO 層向上傳輸數據源對象。
DTO(Data Transfer Object) :數據傳輸對象, Service 或 Manager 向外傳輸的對象。
BO(Business Object) :業務對象。 由 Service 層輸出的封裝業務邏輯的對象。
AO(Application Object) : 應用對象。 在 Web 層與 Service 層之間抽象的複用對象模型,
極爲貼近展示層,複用度不高。
VO(View Object) : 顯示層對象,通常是 Web 向模板渲染引擎層傳輸的對象。
Query:數據查詢對象,各層接收上層的查詢請求。 注意超過 2 個參數的查詢封裝,禁止使用 Map 類來傳輸。

3. resources源代碼的結構

resources源代碼

  • mapper:存放mybatis的XML文件(非mybatis無需此項)
  • static:靜態資源(css,js,img等靜態文件)
  • templates:網頁模板(xxx.html)
  • application.yml:基本配置文件
  • application-dev.yml:開發環境配置文件
  • application-prod.yml:生產環境配置文件
  • application-test.yml:測試環境配置文件

4. test源代碼的結構

test源代碼

執行流程

執行流程
具體項目結構需根據實際項目來定義。當然,有規律的項目結構在後期維護當然會事半功倍。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章