1. 程式人生 > >【Spring筆記一】Hello,Spring

【Spring筆記一】Hello,Spring

Spring簡述

        Spring是一個主流的Java Web開發框架,該框架是一個輕量級的開源框架,它是為了解決企業應用開發的複雜性問題而產生的。輕量級並不是指它的 jar包有多大,而是指 Spring是非侵入性的,也就是用 Spring時,不需要實現 Spring提供的任何介面,也不需要繼承任何父類,就能享受到 Spring為我們提供的強大功能。

Spring是一個基於IOCAOP的結構J2EE系統的框架 

IOC 反轉控制 是Spring的基礎,Inversion Of Control  簡單說就是建立物件由以前的程式設計師自己new 構造方法來呼叫,變成了交由Spring建立物件  DI 依賴注入 Dependency Inject. 簡單地說就是拿到的物件的屬性,已經被注入好相關值了,直接使用即可。 

AOP 即 Aspect Oriented Program 面向切面程式設計  首先,在面向切面程式設計的思想裡面,把功能分為核心業務功能,和周邊功能。  所謂的核心業務,比如登陸,增加資料,刪除資料都叫核心業務  所謂的周邊功能,比如效能統計,日誌,事務管理等等  周邊功能在Spring的面向切面程式設計AOP思想裡,即被定義為切面  在面向切面程式設計AOP的思想裡面,核心業務功能和切面功能分別獨立進行開發  然後把切面功能和核心業務功能 "編織" 在一起,這就叫AOP

Spring框架的優點

Spring具有簡單,可測試和鬆耦合的特短,從這個角度出發,Spring不僅可以用於伺服器端,也可以用於任何Java應用的開發中。對於Spring框架優點總結如下

1.方便解耦,簡化開發

Spring是一個大工廠,可以將所有物件建立和依賴關係維護交給Spring管理。

2.AOP程式設計的支援

Spring提供面向切面程式設計,可以方便地實現對程式進行許可權攔截,執行監控等功能。

3.宣告式事務的支援

只需要通過配置就可以完成對事務的管理,而無需手動程式設計。

4.方便整合各種優秀框架

Spring不排斥各種優秀的開源框架,其內部提供了對各種優秀框架(如Struct2,Hibernate,Mybatis等)的直接支援。

5.降低JavaEE API的使用難度

Spring對JavaEE開發中非常難用的一些API(JDBC,JavaMail,遠端呼叫等),都提供了封裝,使這些API應用難度大大降低。

Spring的體系結構

     Spring框架採用分層架構,它包含一系列的功能要素,被分成大約20個模組,這裡只寫Core Container(核心容器)

Spring的核心容器是其他模組建立的基礎,由Beans模組,Core核心模組,Context上下文模組和Expreession Language表示式語言模組組成,具體介紹如下

1.Beans模組:提供了BeanFactory,是工廠模式的經典實現,Spring將管理物件成為Bean。

2.Core核心模組:提供了Spring框架的基本組成部分,包括IOC和DI功能。

3.Context上文模組:建立在核心和Beans模組的基礎之上,它是訪問定義和配置任何物件的媒介。ApplicationContext介面是上下文模組的焦點。

4.Expreession Language模組:是執行時查詢和操作物件圖的強大的表示式語言。