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:
1publicclassA2{3publicvoidhello(){4System.out.PRintln("测试第一个实例第一个方法");5}67publicvoidHi(){8System.out.println("测试第一个实例第二个方法");9}1011}
1publicclassB2{3publicvoidgreet(){4System.out.println("测试的第二个类第一个方法");5}6}
1publicclassMain2{3publicstaticvoidmain(String[] args)4{5A a =newA();6B b =newB();78a.hello();9a.Hi();1011b.greet();12}13}
查看编译执行的效果:
(2)编写要添加进入目的函数的aspect:
第一个:
1publicaspect AuthAspect2{3before():execution(void*.*()){45System.out.println("模拟记录日志");6}7}
用bin文件夹中的ajc编译AuthAspect,-d . *.java编译当前目录所有java文件把编译后的文件放在当前目录下:
第二个:
1publicaspect TransAspect2{3voidaround():execution(void*.*()){45System.out.println("模拟事物开始");67proceed();//回调函数89System.out.println("模拟事物结束");10}11}
第三个:
1publicaspect LogAspect2{3after():execution(void*.*()){45System.out.println("******模拟******");6}7}