文章目錄
系列文章
1.文章說明
本系列文章主要是對 Spring Framework 核心特性進行系統性的整理,內容更多偏向於理論、基礎以及少量源碼分析;主要內容來源學習極客時間《小馬哥講Spring核心編程思想》、Spring 官網。希望對 Spring Framework 有系統性瞭解的,或者想重新學習 Spring 都可以以本系列文章作爲參考。
如有錯誤歡迎指正;如果涉及侵權,立即刪除和撤回相關內容。
2.整理目的
1.視頻學習之後,知識容易忘記,查找起來也比較麻煩,方便之後隨時複習,
2.整理成文章的過程中,更加能加深印象,在整理的過程中又學習和思考了一遍
3.希望本系列文章能幫到更多的開發人員,有條件的也可以去學習小馬哥的原視頻課程
一句話總結:溫故而知新可以爲師矣
3.Spring 核心特性
- IoC 容器(IoC Container)
- Spring 事件(Events)
- 資源管理(Resource)
- 國際化(i18n)
- 效驗(Validation)
- 數據綁定(Data Bingding)
- 類型轉換(Type Conversion)
- Spring 表達式(Spring Express Language)
- 面向切面編程(AOP)
4.數據存儲(Data Access)
- JDBC
- 事務抽象(Tranactions)
- DAO 支持(DAO Support)
- O/R 映射(O/R Mapping)
- XML 編列(XML Marshalling)
5.Web 技術
Web Servlet 技術棧
- Spring MVC
- WebSocket
- SockJS
Web Reactive 技術棧
- Spring WebFlux
- WebClient
- WebSocket
6.技術整合
- 遠程調用(Remoting)
- Java 消息服務(JMS)
- Java 連接架構(JCA)
- Java 管理擴展(JMX)
- Java 郵件客戶端(Email)
- 本地任務(Tasks)
- 本地調度(Scheduling)
- 緩存抽象(Caching)
- Spring 測試(Testing)
7.測試(Testing)
- 模擬對象(Mock Objects)
- TestContext 框架(TestContext Framework)
- Spring MVC 測試(Spring MVC Test)
- Web 測試客戶端(WebTestClient)
8.Java 版本依賴於支持
Spring Framework 版本 | Java 標準版 | Java 企業版 |
---|---|---|
1.x | 1.3+ | J2EE 1.3+ |
2.x | 1.4.2+ | J2EE 1.3+ |
3.x | 5+ | J2EE 1.4 和 J2EE 5 |
4.x | 6+ | Java EE 6 和 7 |
5.x | 8+ | Java EE 7 |
9.面試題
9.1 Spring Framework 有哪些核心模塊?
從 spring github 開源項目上面可以看到,大概有20幾個,其中比較核心,我們接觸比較多的
- spring-core:Spring 基礎 API 模塊,如資源管理、泛型處理
- spring-beans:Spring Bean 相關,如依賴查找、依賴注入
- org.springframework.beans.factory.BeanFactory
- spring-aop:Spring AOP 處理,如動態代理、AOP 字節碼提升
- spring-context:事件驅動、註解驅動、模塊驅動等
- ApplicationEvent
- @ComponentScans、@Component 以及其派生註解
- @EnableAspectJAutoProxy、@EnableCaching
- spring-expression:Spring 表達式語言模塊