aspectj是一款優秀的面向切面的編程框架,下面就簡單介紹一下入門教程吧:java
一、官網下載AspectJ的jar包,我這裏下的是最新版本1.8.7的。
二、由於AspectJ.jar 是一個可執行的jar文件,須要運行安裝
進入jar所在目錄,輸入命令 java -jar ***.jar:編程
三、進入安裝:框架
四、選擇next,會有以下提示,默認選擇電腦所安裝的jre:函數
五、選擇next,而後選擇安裝的目錄,本身得記住該目錄,到後面有用:測試
六、安裝完成後,有提示將lib中aspectjrt.jar添加進入classpath;spa
進入安裝的目錄,裏面有將要用的jar包庫lib文件夾和包含可運行文件的bin文件夾:3d
添加aspectjrt.jar添加進入classpath:日誌
七、進行aspectj的簡單測試:code
(1)編寫測試所須要的類:A 、B 和主類Main:blog
1 public class A 2 { 3 public void hello(){ 4 System.out.println("測試第一個實例第一個方法"); 5 } 6 7 public void Hi(){ 8 System.out.println("測試第一個實例第二個方法"); 9 } 10 11 }
1 public class B 2 { 3 public void greet(){ 4 System.out.println("測試的第二個類第一個方法"); 5 } 6 }
1 public class Main 2 { 3 public static void main(String[] args) 4 { 5 A a = new A(); 6 B b = new B(); 7 8 a.hello(); 9 a.Hi(); 10 11 b.greet(); 12 } 13 }
查看編譯執行的效果:
(2)編寫要添加進入目的函數的aspect:
第一個:
1 public aspect AuthAspect 2 { 3 before():execution(void *.*()){ 4 5 System.out.println("模擬記錄日誌"); 6 } 7 }
用bin文件夾中的ajc編譯AuthAspect,-d . *.java編譯當前目錄全部java文件把編譯後的文件放在當前目錄下:
第二個:
1 public aspect TransAspect 2 { 3 void around():execution(void *.*()){ 4 5 System.out.println("模擬事物開始"); 6 7 proceed();//回調函數 8 9 System.out.println("模擬事物結束"); 10 } 11 }
第三個:
1 public aspect LogAspect 2 { 3 after():execution(void *.*()){ 4 5 System.out.println("******模擬******"); 6 } 7 }