Spring面向切面編程


  1、面向切面編程(AOP)的概念:把項目中需要在多處用到的功能,比如日志、安全和事物等集中到一個類中處理,而不用在每個需要用到該功能的地方顯式調用。

  2、術語解釋:

       橫切關注點:分布應用於多處的功能

       切面:橫切關注點可以被模塊化為一個類,這個類被稱為一個切面

       通知(advice):切面要完成的工作。Spring的通知有5種類型:before、after、after-returning、after-throwing和around這五種類型。

       連接點(joinpoint):連接點表示在何種操作發生時應用切面。比如方法調用時、修改字段時和拋出異常時等等

       切點(pointcut):一般用某個包中的類的明確的方法來指定在何處應用切面,應用切面的這個點便稱為切點,一般用切點來指定連接點。

  3、使用切點來選擇連接點:

      切點用於准確定位該在什么地方應用切面,切點和通知時AOP的基本元素。

       編寫切點(使用aspectJ表達式來定位):

41

 

42

 

在表達式中,一般用and、or和not來代替&&、||和!。

 

Spring中用bean()指示器來制定在某個bean中的方法被調用時才應用應用切面:

43

 

4、在XML中聲明切面:

 

首先要引入命名空間:

47

 

完成配置之后首先定義一個切面類:

45

 

然后要將被定義切面的類聲明為一個bean,可以用@component或者<bean>標簽

 

接着在XML中配置切面

44

 

在spring中有很多關於AOP的聲明,來指定前置通知、后置通知和環繞通知等:

46

 

5、聲明環繞通知:

環繞通知的方法要傳入一個特殊的參數:

48

 

然后用<AOP:around>標簽聲明該通知即可:

49

 

6、為通知添加參數:

50

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM