Spring學習

1、Spring是什麼?

Spring是一個基於IOC和AOP的結構J2EE系統的框架 ,Spring的核心是控制反轉(IoC)和麪向切面(AOP)。

applicationContext.xml,Spring核心配置文件。

2、IOC(反轉控制)

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

2.1、通過spring獲取Category對象,以及該對象被注入的name屬性(Spring 可以創建實體類對象),以獲取對象的方式來進行比較:

傳統的方式: 
通過new 關鍵字主動創建一個對象
IOC方式:
對象的生命週期由Spring來管理,直接從Spring那裏去獲取一個對象。 IOC是反轉控制 (Inversion Of Control)的縮寫,就像控制權從本來在自己手裏,交給了Spring。 

3、AOP(面向切面編程)

AOP 即 Aspect Oriented Program 面向切面編程 ,首先,在面向切面編程的思想裏面,把功能分爲核心業務功能,和周邊功能。 
所謂的核心業務,比如登陸,增加數據,刪除數據都叫核心業務,所謂的周邊功能,比如性能統計,日誌,事務管理等等 。

周邊功能在Spring的面向切面編程AOP思想裏,即被定義爲切面,在面向切面編程AOP的思想裏面,核心業務功能和切面功能分別獨立進行開發 然後把切面功能和核心業務功能 "編織" 在一起,這就叫AOP。

3.1、AOP的過程分爲兩步:1,在業務類中插入切入點,2,將切入點和切面類關聯起來

<aop:config>

        <!--這表示對滿足如下條件的方法調用,進行切面操作:* 返回任意類型com.how2java.service.ProductService.* 包名以 com.how2java.service.ProductService 開頭的類的任意方法(..) 參數是任意數量和類型-->

        <aop:pointcut id="loggerCutpoint" expression="execution(* service.ProductService.*(..))" />

 <!--聲明切入點-->

        <aop:aspect id="logAspect" ref="loggerAspect"> 

<!--指定輔助功能--><!--聲明切面,切入點被執行就執行切面 -->

           <aop:around pointcut-ref="loggerCutpoint" method="log" />

            <!--執行切面類裏的方法-->

            <!--一個切點是可以關聯多個切面的,一個切面只能關聯一個方法-->

        </aop:aspect>
</aop:config>

 

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