首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

SSH 架構設計:分層架構與包結構規劃

     編輯:Java 相關知識

作者從前端轉型 Java 後端,記錄自學 SSH 過程中對分層架構的理解與項目包結構規劃。強調分層是 OO 思想落地的關鍵,參考《Think in Java》、MVC 經典書籍,最終確定四層架構。

四層架構定義

  1. 數據層:Hibernate 訪問、持久化 PO、DAO 接口/實現。
  2. 業務邏輯層:Service 接口/實現,事務邊界,編排 DAO 完成業務用例。
  3. 控制層:Struts2 Action、Utility 工具類、Global 全局配置/攔截器。
  4. 表示層:JSP、CSS、JavaScript、圖片等前端資源。

包結構規劃

com.mizi
  ├─ dao          // DAO 接口
  ├─ dao.impl     // DAO 實現
  ├─ po           // 持久化對象 (Hibernate 映射)
  ├─ service      // Service 接口
  ├─ service.impl // Service 實現
  ├─ action       // Struts2 Action
  ├─ util         // 工具類
  ├─ global       // 全局配置、攔截器、常量
  └─ web          // JSP、CSS、JS、圖片 (放在 WebContent 下對應目錄)

圖示見原文截圖(包結構樹)。

設計原則

  • 依賴倒置:上層依賴下層接口,下層實現依賴上層接口(Spring IoC 註入)。
  • 單一職責:DAO 只管數據訪問,Service 只管業務邏輯,Action 只管請求分發與模型驅動。
  • 接口隔離:Service 接口按業務領域拆分(UserService、OrderService),避免臃腫。
  • PO 純淨:不包含業務邏輯,僅作為數據載體在層間傳遞。

後續演進方向

  • 引入 DTO/VO 解決視圖與領域模型不匹配。
  • 通用 BaseDAO/BaseService 減少樣板代碼。
  • AOP 統一事務、日誌、權限、異常處理。
  • Maven 多模塊項目結構(dao、service、web 分離打包)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved