Spring框架基礎知識

本人博客文章網址:https://www.peretang.com/basic-knowledge-of-spring-framework/


Spring框架簡介

Spring , 一個開源的框架 , 由Rod Johnson創建. Spring是爲了解決企業應用開發的複雜性而創建的 , 可以讓簡單的JavaBeans/POJO來實現之前只有EJB[1]才能完成的事情. Spring還提供了大量API簡化與其他第三方框架的集成. 

縱覽Spring , 你會發現Spring可以解決非常多的問題 , 但歸根到底 , 所有Spring提供的API/解決方案的理念都可以追溯到Spring最根本的理念上 "簡化Java開發" .

▲Spring=簡化Java開發

Spring策略與核心

Spring爲了降低Java開發複雜性的4大關鍵策略/核心

1. 基於POJO的輕量級和最低侵入性編程

2. 通過依賴注入和麪向接口實現鬆耦合

3. 基於切面和慣例進行聲明式編程

4. 通過切面和模版減少板式代碼

基本所有Spring的API/解決方案都可以追溯到上述的一條或多條策略中. 

Spring缺點

雖然Spring能降低複雜性 , 但是當Spring發展到現在4.X , Spring已然是一個很複雜的框架. 

另Spring的最初目標是一個輕量級的容器框架 , 但是發展到現在Spring4.X也已經是一個重量級框架. 

最後雖然Spring是最小的侵入性 , 但是它帶給了我們最大的依耐性. 

Spring模塊

Core模塊

spring-core,spring-beans : 框架的最基礎模塊,其提供了IOC和依賴注入等功能

spring-context : 提供了一種訪問對象的上下文對象

spring-context-support : 提供了將第三方庫集成到上下文中的功能

spring-expression(SPEL) : 提供了強大的表達式語言支持 , 減少工作量

AOP模塊

spring-aop : 提供了一個符合AOP規範的面向切面的API實現

spring-aspects : 提供了與AspectJ的集成

數據訪問集成模塊

spring-jdbc : 提供簡化JDBC編程的API

spring-tx : 提供簡化事務管理和編程的API

spring-orm : 提供簡化ORM規範[2]編程的API , 並提供對JPA , Hibernate的支持

spring-oxm : 提供簡化OXM規範[3]編程的API

spring-jms : 提供簡化JMS規範[4]編程的API

Web模塊

spring-web : 提供簡化基本Web功能編程的API

spring-webmvc,spring-webmvc-portlet : 提供簡化MVC[5]和RESTful[6]編程的API

spring-websocket : 提供簡化Websocket編寫的API

測試模塊

spring-test : 提供對單元測試和集成測試支持的組件 , 簡化測試用例編程的API

信息模塊

spring-messaging : 支持消息架構和協議

設備模塊

spring-instrument : 提供了在某些應用服務器中使用的類檢測支持和類加載器實現

spring-instrument-tomcat : 提供了在Tomcat中使用的類檢測支持和類加載器實現

Spring架構圖

Spring framework overview

 

參考

Spring framework reference

Spring In Action

註釋

[1]這裏的EJB指的是EJB2.X,因爲從EJB3.X規範開始也可以使用POJO來實現EJB規範。

[2]對象關係映射 , 用來把對象模型表示的對象映射到基於SQL的關係模型數據庫結構中去. 

[3]Object XML Mapping , 數據實體對象與XML節點之間的映射.

[4]Java消息服務 , JavaEE規範中的一員 , 負責與信息中間件(MOM)進行交互的API. 參考 : JAVAEE規範基礎知識

[5]MVC是一種使用 MVC (Model View Controller 模型-視圖-控制器) 設計創建 Web 應用程序的模式. 

[6]RESTful一種軟件架構風格. 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章