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

Java 三大框架(SSH)架構解析與現代演進觀點

     編輯:Java 相關知識

Struts 2 + Spring + Hibernate(SSH)曾是 Java Web 開發的「鐵三角」,雖然如今 Spring Boot / Cloud 生態已成主流,但理解 SSH 的分層思想與核心機制,對掌握現代框架設計哲學仍有極大啟發價值。

三大框架核心職責

Struts 2 —— 表現層控制器

  • 基於 Filter(StrutsPrepareAndExecuteFilter)攔截請求
  • Action 作為控制器,支援 REST 風格、攔截器鏈、OGNL 表達式
  • 結果類型豐富:JSP、FreeMarker、Velocity、JSON、Stream 等

Spring —— 企業級應用的粘合劑

核心三板斧:

  1. IoC 容器:依賴注入(DI)管理 Bean 生命週期,支援構造器/Setter/注解注入
  2. AOP 切面:聲明式事務(@Transactional)、日誌、權限、快取等橫切關注點
  3. 模板抽象:JdbcTemplate、HibernateTemplate、RedisTemplate 等統一資源存取介面

Spring 不造輪子,它整合輪子:整合 Hibernate、MyBatis、JMS、JPA、Quartz…

Hibernate —— ORM 持久層標杆

  • Session 管理一級快取、脏檢查、延遲載入
  • HQL / Criteria / 原生 SQL 多種查詢方式
  • 支援二級快取(Ehcache、Redis)提升讀效能
  • 映射靈活:XML、註解、JPA 標準註解

SSH 協作流程經典圖解

瀏覽器 → Struts2 Filter → Action (業務邏輯)
                ↓
          Spring 容器注入 Service
                ↓
          Service 調用 DAO (Hibernate)
                ↓
          Hibernate → SQL → 數據庫
                ↓
          返回領域模型 → Action → 結果視圖 → 瀏覽器

從 SSH 到 Spring Boot 的架構演進

維度SSH 時代Spring Boot 時代
配置方式大量 XML + 註解混雜約定優於配置,YAML/Properties + 自動裝配
容器部署打 WAR 包放 Tomcat/JBoss內嵌容器打 JAR,直接 java -jar
依賴管理手動管理版本衝突Starter POM 統一版本仲裁
開發效率修改需重啟/熱部署慢DevTools 熱重載、Actuator 監控
微服務支援需自行整合 Dubbo/ZooKeeperSpring Cloud 全家桶開箱即用

遺留項目現代化建議

  1. 漸進式遷移:先引入 Spring Boot 管理依賴,保留舊 Struts/Hibernate 邏輯
  2. 剝離業務邏輯:將 Action/Service 抽取為純 POJO,便於單元測試與遷移
  3. 資料層升級:Hibernate → JPA + Hibernate 實現 → 逐步引入 MyBatis-Plus/JOOQ
  4. 前後端分離:Struts JSP → REST API + Vue/React,Struts 退為 Controller

總結

SSH 確立了「分層解耦、容器管理、ORM 標準」三大 Java 企業開發基因。Spring Boot 沒有推翻它們,而是以「自動配置、內嵌容器、生態整合」將這些基因進化為雲原生就緒的現代形態。理解 SSH,是讀懂 Spring Boot 設計初心的鑰匙。

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