Struts 2 + Spring + Hibernate(SSH)曾是 Java Web 開發的「鐵三角」,雖然如今 Spring Boot / Cloud 生態已成主流,但理解 SSH 的分層思想與核心機制,對掌握現代框架設計哲學仍有極大啟發價值。
核心三板斧:
Spring 不造輪子,它整合輪子:整合 Hibernate、MyBatis、JMS、JPA、Quartz…
瀏覽器 → Struts2 Filter → Action (業務邏輯)
↓
Spring 容器注入 Service
↓
Service 調用 DAO (Hibernate)
↓
Hibernate → SQL → 數據庫
↓
返回領域模型 → Action → 結果視圖 → 瀏覽器
| 維度 | SSH 時代 | Spring Boot 時代 |
|---|---|---|
| 配置方式 | 大量 XML + 註解混雜 | 約定優於配置,YAML/Properties + 自動裝配 |
| 容器部署 | 打 WAR 包放 Tomcat/JBoss | 內嵌容器打 JAR,直接 java -jar |
| 依賴管理 | 手動管理版本衝突 | Starter POM 統一版本仲裁 |
| 開發效率 | 修改需重啟/熱部署慢 | DevTools 熱重載、Actuator 監控 |
| 微服務支援 | 需自行整合 Dubbo/ZooKeeper | Spring Cloud 全家桶開箱即用 |
SSH 確立了「分層解耦、容器管理、ORM 標準」三大 Java 企業開發基因。Spring Boot 沒有推翻它們,而是以「自動配置、內嵌容器、生態整合」將這些基因進化為雲原生就緒的現代形態。理解 SSH,是讀懂 Spring Boot 設計初心的鑰匙。