Java 生態擁有豐富的框架體系,本文梳理五大經典框架的定位、核心特性與適用場景,幫助團隊根據專案規模、團隊熟悉度、效能需求做出合理選型。
1. Spring Framework(全棧企業級框架)
- 核心:IOC 容器、AOP、聲明式事務、Spring MVC、Spring Boot 自動配置。
- 優勢:鬆耦合、測試友好、生態最完整(Spring Cloud、Spring Data、Spring Security 等)。
- 適用:企業級應用、微服務、雲原生、批次處理、全棧 Web。
2. Hibernate / JPA(ORM 持久層標準)
- 核心:物件關係映射、延遲載入、快取(一級/二級)、HQL/JPQL、Criteria API。
- 優勢:減少 SQL 樣板碼、資料庫可移植、豐富的關聯映射策略。
- 適用:複雜領域模型、傳統企業應用、需快速開發 CRUD。
- 現代替代:MyBatis(SQL 掌控度高)、jOOQ(型別安全 SQL)、Spring Data JPA(Repository 抽象)。
3. Struts 2(經典 MVC Web 框架)
- 核心:FilterDispatcher、Action+Result、OGNL 表達式、攔截器鏈、標籤庫。
- 現狀:社區活躍度下降,歷史安全漏洞較多,新專案不建議採用。
- 遷移建議:Spring MVC、Spring WebFlux、Play Framework、Nutz。
4. Velocity / FreeMarker / Thymeleaf(模板引擎)
| 引擎 | 特點 | 現代定位 |
| Velocity | 語法簡單、純 Java、無 Spring 綁定 | 維護舊專案、郵件/靜態頁生成 |
| FreeMarker | 功能強、指令豐富、支援宏/函數 | 複雜報表、代碼生成器 |
| Thymeleaf | 原型可直接瀏覽器預覽、Spring 深度整合 | Spring Boot 專案首選服務端渲染 |
5. HSQLDB / H2 / Derby(嵌入式資料庫)
- 純 Java 實現、零安裝、啟動快、支援 SQL:2003 標準。
- 適用:單元測試、嵌入式應用、開發環境輕量替代、CI/CD 流水線。
- 生產高併發場景請轉用 PostgreSQL、MySQL、Oracle 等獨立資料庫。
現代技術棧推薦組合(2024+)
| 層級 | 推薦方案 |
| Web/微服務 | Spring Boot 3 + Spring Cloud 2023 / Spring Cloud Alibaba |
| 持久層 | MyBatis-Plus / Spring Data JPA + QueryDSL |
| API 文檔 | SpringDoc OpenAPI 3 (Swagger UI) |
| 前端渲染 | Thymeleaf (SSR) 或 Vue/React (SPA) + Spring WebFlux |
| 測試 | JUnit 5 + Mockito + Testcontainers |