Spring及其優點
大部分專案都少不了Spring的身影,為什麼大家對他如此青睞,而且對他的追捧絲毫沒有減退之勢呢
Spring是什麼:
Spring是一個輕量級的DI和AOP容器框架。
說它輕量級有一大部分原因是相對與EJB的(雖然本人從沒有接觸過EJB的應用),重要的是,Spring是非侵入式的,基於spring開發的應用一般不依賴於spring的類。
DI:稱作依賴注入(Dependency Injection),和控制反轉一個概念,具體的講,當一個角色需要另外一個角色協助的時候,在傳統的程式設計中,通常有呼叫者來建立被呼叫者的例項。 但是在spring中建立被呼叫者將不再有呼叫者完成,因此叫控制反轉。建立被呼叫物件有Spring來完成,在容器例項化物件的時候主動的將被呼叫者 (或者說它的依賴物件)注入給呼叫物件,因此又叫依賴注入。
AOP:Spring對面向切面程式設計提供了強有力的支援,透過它讓我們將業務邏輯從應用服務(如事務管理)中分離出來,實現了高內聚開發,應用物件只關注業務邏輯,不再負責其它系統問題(如日誌、事務等)。Spring支援使用者自定義切面。
面向切面程式設計是物件導向程式設計的有力補充。物件導向程式設計將程式分 成各個層次的物件,面向切面的程式將執行過程分解成各個切面。AOP是從執行程式的角度去考慮程式的結構,提取業務處理過程的切面,OOP是靜態的抽 象,AOP是動態的抽象,是對應用執行過程的步驟進行抽象,從而獲得步驟之間的邏輯劃分。
容器:Spring是個容器,因為它包含並且管理應用物件的生命週期和配置。如物件的建立、銷燬、回撥等。
框架:Spring作為一個框架,提供了一些基礎功能,(如事務管理,持久層整合等),使開發人員更專注於開發應用邏輯。
看完了Spring是什麼,再來看看Spring有哪些優點
1.使用Spring的IOC容器,將物件之間的依賴關係交給Spring,降低元件之間的耦合性,讓我們更專注於應用邏輯
2.可以提供眾多服務,事務管理,WS等。
3.AOP的很好支援,泡麵向切面程式設計。
4.對主流的框架提供了很好的整合支援,如Hibernate,Struts2,JPA等
5.Spring DI機制降低了業務物件替換的複雜性。
6.Spring屬於低侵入,程式碼汙染極低。
7.Spring的高度可開放性,並不強制依賴於Spring,開發者可以自由選擇Spring部分或全部
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1655019/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 繫結變數及其優缺點變數
- js/javascript 繼承方式主要有哪些?及其優缺點特點JSJavaScript繼承
- Spring MVC框架有哪些優點SpringMVC框架
- spring struts hibernate 優缺點?Spring
- 【Redis】四種部署模式的介紹及其優缺點Redis模式
- 塔式伺服器的簡單介紹及其優點伺服器
- 領域驅動設計及其優點介紹 - DEV社群dev
- 刀鋒伺服器的簡單介紹及其優點伺服器
- 機架式伺服器的簡單介紹及其優點伺服器
- ArrayList、Vector、LinkedList的區別及其優缺點? (轉載)
- Kubernetes的優勢、適應場景及其特點
- spring boot學習(6)— 配置資訊及其讀取優先順序Spring Boot
- 【譯】Proxy及其優勢
- 快速排序及其優化排序優化
- 5種常用的機器學習模型及其優缺點,都在這裡了機器學習模型
- Archived Redo Logs歸檔重做日誌介紹及其優點Hive
- 一文掌握5種常用的機器學習模型及其優缺點機器學習模型
- 簡述Helm及其優勢
- 什麼是Ajax(Ajax的來歷、執行原理、優缺點及其它)
- Spring 的優秀工具類盤點第 1 部分Spring
- (001)Spring 之 IOC及其容器Spring
- 迴流、重繪及其優化優化
- MySQL表連線及其優化MySql優化
- 浮點數表示及其實現.
- Spring基本概念及其面試題Spring面試題
- 簡單介紹常見的三種架構設計模式及其優缺點!架構設計模式
- 詳解五大分類方法及其優缺點,資料探勘師必會!
- AOP及其在Spring中的應用(一) .Spring
- AOP及其在Spring中的應用(二)Spring
- 什麼是JavaScript及其特點(轉)JavaScript
- Javascript中的尾遞迴及其優化JavaScript遞迴優化
- Angularjs的$apply及其優化使用AngularJSAPP優化
- 談談CSS Sprites技術及其優化CSS優化
- Java十四種開發工具及其特點Java
- 機器學習vs深度學習及其知識點機器學習深度學習
- 自定義函式索引使用及其注意點函式索引
- 儲存器的分類及其特點
- CSS之選擇器及其優先順序CSS