1. 程式人生 > >8. Spring:AOP的實現方式

8. Spring:AOP的實現方式

8. Spring:AOP的實現方式

  1. 利用Proxy實現AOP功能

    採用Proxy類方法,基本流程為:主函式–>代理–>目標物件的方法。對於Proxy類有一個使用前提,就是目標物件必須要實現介面,否則不能使用這個方法。、

    • 實現AOP功能步驟如下:

      • 建立介面:StudengInterface.java
      • 建立介面實現類:StudentBean.java
      • 建立代理工廠類:ProxyFactory.java
    • 示例(note_8/aop/proxy)

      ​ 在StudentBean之上加了一層代理,呼叫例項的方法時,代理會先進行判斷過濾,然後在進一步呼叫例項中我們所需要呼叫的方法。

    • 總結

      • 目標物件必須實現介面
      • 返回建立的代理物件
      • 重寫invoke()方法
      • 限制條件放在invoke()方法
  2. 利用CGLib實現AOP功能

    CGLib(Code Generation Library)是一個開源專案,它是一個強大的,高效能,高質量的Code生成類庫,它可以在執行期擴充套件Java類與實現Java介面。

    • 實現AOP功能步驟如下所示
      • 引入Jar檔案
      • 建立實體類
      • 建立CGLIB代理類
      • 建立入口類進行測試
    • 示例(note_8/aop/cglib)
  3. 利用Spring註解方式實現AOP功能

    利用Spring註解方式來實現前置通知,後置通知,例外通知以及環繞通知等。

    • 實現AOP功能步驟如下:
      • 引入Jar檔案
      • 配置AOP名稱空間
      • 建立目標物件類
      • 建立切面
      • 在配置檔案中配置切面
      • 建立入口類進行測試
    • 示例(note_8/aop/aspect)
  4. 利用Spring XML檔案配置方式實現AOP功能

    • 實現AOP功能步驟如下:
      • 引入Jar檔案
      • 配置AOP名稱空間
      • 建立目標物件類
      • 建立切面
      • 在配置檔案中配置
      • 建立入口類進行測試
    • 示例(note_8/aop/xml)