Struts、Hibernate、Spring 構成了經典「SSH」架構,統治 Java Web 開發超過十年。理解其誕生背景與演進邏輯,有助於把握現代框架設計哲學(如 Spring Boot、Quarkus、Micronaut)。
new 硬編碼,強耦合,難測試、難復用。ActionServlet 前端控制器,配置 struts-config.xml 映射請求。ActionForward 跳轉。.hbm.xml / 註解)。save()/load()/createQuery() 替代手寫 SQL。new BusinessService()、new UserDao())。@Transactional 一鍵搞定。
+---------------------+
| Presentation | ← Struts 1 / Spring MVC / JSP + JSTL
| (Action/Controller|
| Form/View) |
+----------+----------+
| DI
+----------v----------+
| Business | ← Spring Service (POJO + @Transactional)
| (Service/BO) |
+----------+----------+
| DI
+----------v----------+
| Persistence | ← Hibernate DAO / Spring Data JPA
| (DAO/Repository) |
+----------+----------+
| JDBC
+----------v----------+
| Database |
+---------------------+
| 領域 | 主流選擇 | 備註 |
|---|---|---|
| Web 框架 | Spring MVC / Spring WebFlux | RESTful、響應式 |
| ORM | Hibernate (JPA 實現) / MyBatis / Spring Data JPA | 複雜映射選 Hibernate,SQL 掌控選 MyBatis |
| DI 容器 | Spring IoC / CDI (Jakarta EE) | Spring 生態最豐富 |
| 啟動引導 | Spring Boot 3.x | 生產級標配 |
| 微服務 | Spring Cloud / Dubbo / gRPC | 服務治理、配置中心、鏈路追蹤 |
| 新興選項 | Quarkus / Micronaut / Helidon | GraalVM 原生映像、極快啟動、低內存 |
SSH 不是終點,而是 Java 企業級開發「從混亂走向規範、從重構走向生態」的里程碑。今天的 Spring Boot、Cloud、GraalVM 皆站在巨人肩上。保持好奇,拥抱變化,才是 Java 開發者的核心競爭力。