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

Struts 與依賴注入在專案中的實戰應用

     編輯:Java 相關知識

作者鍾愛 Struts、iBatis、Spring 等 Java 框架,但偏好 .NET 技術棧。對比兩者生態差異,闡述 Struts 核心價值與 IOC/依賴注入在降低耦合中的關鍵作用,並預告自研 .NET 版 Struts 框架 nstruts 2.0。

為什麼堅持 Struts?

  • 表單數據自動封裝:解決幾十上百字段手工獲取痛苦
  • 雙層驗證:前端驗證不可靠,後端 Validate() 必不可少
  • 業務流程標準化:Validate → Execute → Forward,符合 ISO 單一職責原則
  • 配置文件驅動:需求變更只改配置,不動代碼,大型專案尤為關鍵

配置文件的核心價值:控制反轉 (IOC) / 依賴注入 (DI)

耦合問題演進


// 1. 硬編碼依賴:B 強依賴 A
class B { A a = new A(); }

// 2. 工廠模式:依賴抽象,但擴展仍需改工廠代碼
interface IA {}
class B { IA a = Factory.createA(); }

// 3. 依賴注入:配置文件注入,零代碼修改擴展
class B {
    private IA a;
    public void setA(IA a) { this.a = a; }
}
// struts-config.xml / applicationContext.xml

      // 想換 C 只改 ref

Setter 如同空心球體上的小孔,配置文件將所需依賴「注入」其中。Struts 配置文件天然承擔 DI 容器角色,Action 實例化、屬性注入、生命週期管理由框架接管。

nstruts 2.0 預告

自研 .NET 版 Struts 框架,改進重大:

  • 支援依賴注入(對象、常量、集合)
  • 新增多種配置元素
  • 設計清晰簡單,適合框架設計學習參考

發布前可先研究 nstruts 1.0 理解基礎架構。期待在 .NET 世界復現 Struts 的優雅與生產力。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved