Spring 是為解決企業級應用開發複雜性而生的開源框架。其分層架構是最大優勢:可按需選擇組件,同時為 J2EE 開發提供整合框架。

Spring 由 7 大模塊組成,構建在核心容器之上:
| 模塊 | 核心功能 |
|---|---|
| 核心容器 | BeanFactory 實現工廠模式,採用控制反轉(IOC) 將配置與依賴與業務代碼分離 |
| Spring 上下文 | 配置文件,提供 JNDI、EJB、郵件、國際化、校驗、調度等企業服務 |
| Spring AOP | 將面向切面編程集成框架,支援聲明式事務管理,無需依賴 EJB |
| Spring DAO | JDBC 抽象層,定義有意義異常體系,簡化錯誤處理,降低樣板代碼 |
| Spring ORM | 整合 JDO、Hibernate、iBatis SQL Map,遵循統一事務與 DAO 異常體系 |
| Spring Web | Web 上下文模塊,支援 Struts 整合,簡化多部分請求與參數綁定 |
| Spring MVC | 全功能 MVC 實現,策略接口高度可配,支援 JSP、Velocity、Tiles、iText、POI 等視圖技術 |
傳統 Java 開發中,業務邏輯需至少兩個對象協作,對象自行 new 依賴對象,導致高耦合。
IOC 思想:由 Spring 容器負責創建、協調相互依賴的對象。對象只關注業務邏輯,依賴關系被「反轉」給容器管理。
DI 方式:Setter 注入(屬性注入)、構造器注入(構造參數注入)。
通過預編譯與運行期動態代理實現程序功能統一維护。核心價值:
典型應用:日誌記錄、事務管理、權限檢查、性能監控等橫切關注點。
後續將深入講解 Bean 生命週期、AOP 代理機制、事務傳播行為等進階主題。