Y2-SSM04-Spring核心概念
前言:
框架是可以幫助我們構建規範的,優秀的應用程式、簡化繁瑣的編碼過程
而Spring的作用不止如此,它的目標是是JavaEE更易使用並促進良好的程式設計習慣
Spring是一個功能豐富而且易用的整合框架,其核心是一個完整的基於控制反轉 IOC的輕量級容器,使用者可以使用它建立自己的應用程式。
在容器之上,Spring提供了大量實用的服務,將很多高質量的開源專案整合到統一的框架之上。
單詞:
Inversion 反轉
Control 控制
Dependency 依賴
Injection 注入
Aspect-oriented 面向切面
Programming 程式設計
Advice 建議
Aspect 切面
Join point 結合
Alliance 聯盟
Pointcut 切入點
Weaving 織入
Signature 簽名
Expression 表示式
Execution 執行
企業級應用開發
企業級應用是指那些為商業組織,大型企業而建立並部署解決方案及應用。
這樣的大型企業級應用結構複雜,涉及的外部資源眾多、事務密集、資料規模大、使用者數量多、有較強的安全性考慮和較高的效能要求。
這些企業級應用不會是一個個的獨立系統
一般都會部署多個進行互動的應用,同時這些應用又都有可能與其他的企業相關的應用連線
從而構成一個結構複雜的、跨越Internet的分散式企業應用叢集
而且作為企業級應用,不但要有強大的功能,還有滿足未來業務的需求變化,易於擴充套件和維護。
Spring致力於 JavaEE 應用的各種解決方案,而不是僅僅專注於某一層的方案
Spring是企業應用開發的 “一站式” 選擇,spring貫穿表現層、業務層、持久層
Spring框架由大約 20個功能模組組成
這些模組被分成了六個部分:
Core container
Data Access / Integration
Web
AOP
Instrumentation
Test
’
Spring IOC
控制反轉 inversion of control ,也稱為依賴注入 dependency injection
是面向對物件程式設計中的一種設計理念,用來降低程式程式碼之間的耦合度
依賴,是指在程式碼中一般通過區域性變數,方法引數、返回值等建立的對於其他物件的呼叫關係
幾乎所有的應用都是由兩個或更多的類通過彼此合作來實現完整的功能
類與類之間的依賴增加了程式開發的複雜程度,我們開發一個類的時候還要考慮對正在使用該類的其他類的影響
編寫Spring配置檔案
SpringAOP
面向切面程式設計 aspect oriented programming ,是軟體程式設計思想發展到一定階段的產物
是對 面向物件程式設計 object oriented programming 的有益補充。
AOP一般適用於具有橫切邏輯的場合,如訪問控制、事務管理、效能檢測等。
面向切面程式設計,就是在不改變原程式的基礎上為程式碼段增加新的功能,對程式碼進行增強處理
它的設計思想來自於代理模式。
這種模式下,給程式設計人員的感覺就是在原有程式碼乃至原業務流程中都不修改的情況下,直接在業務流程中切入新程式碼,增加新功能。
切面可以理解為由增強處理和切入點組成,既包含了橫切邏輯的定義,也包含了連線點的定義
面向切面主要關心兩個問題,即在什麼位置,執行什麼功能
SpringAOP 是負責實施切面的框架,即由SpringAOP完成織入工作。
總結:
Spring是一個輕量級的框架,提供了IOC容器,AOP實現、DAO/ORM支援、web整合功能
依賴注入讓元件之間以配置檔案的形式組織在一起,而不是硬編碼的方式耦合在一起。
Spring配置檔案是完成裝配的主要場所,常用的節點是 <bean> 和 <property> 。
AOP的目的是從系統中分離出切面,獨立於業務邏輯實現,在程式執行時織入程式中執行。
面向切面程式設計主要關心兩個問題,在什麼位置,執行什麼功能。
配置AOP主要使用 aop 名稱空間下的元素完成,可以實現定義切入點和織入增強等操作。