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