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


  • 相关阅读:
    机械迷城MAC下载及攻略
    今晚是个难眠之夜
    div高度自适应
    代码高亮
    windows live writer
    Java连接redis的使用示例
    luogu4360 锯木厂选址 (斜率优化dp)
    poj1651 Multiplication Puzzle (区间dp)
    hdu3506 Monkey Party (区间dp+四边形不等式优化)
    poj1236/luogu2746 Network of Schools (tarjan)
  • 原文地址:https://www.cnblogs.com/chentao-cus/p/4850360.html
Copyright © 2020-2023  润新知