天天看點

【AOP 面向切面程式設計】AOP 簡介 ( AspectJ 簡介 | AspectJ 下載下傳 )

文章目錄

  • 一、AOP 簡介
  • 二、AspectJ 簡介
  • 三、AspectJ 下載下傳

一、AOP 簡介

AOP 是 Aspect Oriented Programming 的縮寫 , 面向切面程式設計 ;

利用 AOP 面向切面程式設計 , 可以将 業務邏輯的各個部分 進行隔離 , 每個 業務邏輯部分 放在 一個切面 中實作 , 降低了各個業務邏輯之間的 耦合程度 , 提高了程式的 靈活性 , 可複用性 , 可維護性 , 開發效率 ;

AOP 應用場景 :

  • 使用者行為統計 : 統計應用中 , 哪個頁面 , 哪個功能 ;
  • 性能監測 : 監測各個頁面的使用性能 ;
  • 日志記錄
  • 安全控制
  • 事務處理
  • 異常處理

使用頻率最高 , 性能差的功能優先進行疊代 ;

小型應用 , 一般選擇使用 第三方埋點統計 SDK ;

大型應用 , 一般不會将自己的使用者行為 , 性能監測資訊 , 上傳到第三方廠商的伺服器上 ;

這類第三方 SDK 廠商 , 提供免費的 統計服務 以及 性能監測服務 , 但是被統計的資料一般都會被作為産品銷售給大型的網際網路企業 , 這些資料顯然不可能保密 ;

特别注意 : 使用者過百萬 , 不要使用第三方 SDK , 用了基本等于把所有資料公開了 ;

二、AspectJ 簡介

AspectJ 的相關要素 :

  • Aspect 切面 : Java 中的類聲明是 對事物的抽象 , AspectJ 中的 Aspect 切面就是 對切面的抽象 , 其中包含了 Point Cut 切入點 和 Advice 通知 ; 使用

    @Aspect

    注解修飾 ;
  • Join Point 連接配接點 : 程式執行過程中的關鍵執行點 , 如 方法調用 , 對類成員和方法的通路 , 異常處理子產品 等 ; Join Point 連接配接點之間可以互相嵌套 ;
  • Point Cut 切入點 : 一組 Join Point 連接配接點 , 通過 邏輯關系 / 正規表達式 / 通配符 等關系組合 , 定義了 Advice 通知發生的位置 ;
  • Advice 通知 : Advice 通知 是在 Point Cut 切入點 具體執行的操作 , 可以執行
    • 在 Join Point 連接配接點

      before

      之前進行操作
    • 在 Join Point 連接配接點

      after

      之後進行操作
    • 在 Join Point 連接配接點

      around

      前後都要進行操作

三、AspectJ 下載下傳

AspectJ 下載下傳位址 : http://www.eclipse.org/aspectj/downloads.php

點選紅色矩形框中的連結 , 可以下載下傳最新的穩定版本 ;

【AOP 面向切面程式設計】AOP 簡介 ( AspectJ 簡介 | AspectJ 下載下傳 )

下載下傳下來的 aspectj-1.8.10.jar 檔案 , 可以直接運作 , 輕按兩下後 , 彈出如下對話框 ;

【AOP 面向切面程式設計】AOP 簡介 ( AspectJ 簡介 | AspectJ 下載下傳 )

aspectj-1.8.10.jar 檔案中包含的内容 :

【AOP 面向切面程式設計】AOP 簡介 ( AspectJ 簡介 | AspectJ 下載下傳 )

aspectj-1.8.10.jar 檔案中包含的 lib 庫 :