zoukankan      html  css  js  c++  java
  • 【学习笔记】AspectJ笔记

    AspectJ的概念

    1. 是一种静态编译期增强性AOP的实现
    2. 在编译过程中修改代码加入相关逻辑,无需程序员动手

    AspectJ具体用法

    1. 下载安装AspectJ,启动jar文件,安装到JDK目录,添加path和classpath
    2. 切点与切面代码
    • 切点前
    package test.aspect;
    //模拟权限检查
    public aspect AuthAspect {
    
    	before() : execution(* test.service.*.*(..)){
    		System.out.println("模拟权限检查……");
    	}
    }
    
    • 切点后
    package test.aspect;
    //模拟日志输出
    public aspect LogAspect{
        //定义切点
    	pointcut logPointCut()
    		: execution(* test.service.*.*(..));
    	after(): logPointCut(){
    		System.out.println("模拟日志输出……");
    	}
    }
    
    • 环绕
    package test.aspect;
    public aspect TxAspect{
    	
    	//测试环绕事务
    	Object around():call(* test.service.*.*(..)){
    	    //代码前执行
    		System.out.println("模拟开启事务……");
    	    //放行代码
    		Object rvt = proceed();
    		//代码后执行
    		System.out.println("模拟关闭事务……");
    		return rvt;
    	}
    	
    }
    
    1. 切点定义:pointcut 切点名称():execution(* 包名.*.*(..));

    注意:

    1. 如果没有事先声明切点,此时可以直接使用execution表达式作为切点使用
    2. execution关键词可使用call代替
    3. 声明切点后可以直接使用切点代替execution和call

    本文为学习笔记,如需转载请注明出处

  • 相关阅读:
    集合
    字典
    元组
    列表
    数字类型和字符串类型
    Python 数据类型
    jq的一点点
    常用到jq的ajax
    上传
    下载
  • 原文地址:https://www.cnblogs.com/hellxz/p/9629086.html
Copyright © 2011-2022 走看看