你的位置:首页 > Java教程

[Java教程]AspectJ的简单使用


aspectj是一款优秀的面向切面的编程框架,下面就简单介绍一下入门教程吧:

1、官网下载AspectJ的jar包,我这里下的是最新版本1.8.7的。

2、因为AspectJ.jar 是一个可执行的jar文件,需要运行安装
   进入jar所在目录,输入命令 java -jar ***.jar:

3、进入安装:

4、选择next,会有如下提示,默认选择电脑所安装的jre:

5、选择next,然后选择安装的目录,自己得记住该目录,到后面有用:



6、安装完成后,有提示将lib中aspectjrt.jar添加进入classpath;

     进入安装的目录,里面有将要用的jar包库lib文件夹和包含可运行文件的bin文件夹:

     添加aspectjrt.jar添加进入classpath:

7、进行aspectj的简单测试:


(1)编写测试所需要的类:A 、B 和主类Main:

 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 B2 {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 }