【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/javazejian/article/details/56267036 出自【zejian的博客】

https://pan.baidu.com/s/1nOsgH6Zm50e2u5ln_3kAhQ

1.切面 切面包括了 切点和通知两个部分 切点(pointcut)定义需要应用通知的目标函数,通知则是那些需要应用到目标函数而编写的函数体,切面(Aspect)则是通知与切点的结合。织入(weaving),将aspect类应用到目标函数(类)的过程 1.1切点 切点由pointcut关键字,连接点函数名 和 匹配表达式(包括call关键字和要切入的目标方法)组成 pointcut 函数名 : 匹配表达式 pointcut recordLog():call(* HelloWord.sayHello(..)); recordLog连接点函数,HelloWord.sayHello是要切入的函数 *表示任意返回值,接着就是需要拦截的目标函数,sayHello(..)的..,表示任意参数类型 1.2通知

[返回值类型] 通知函数名称(参数) [returning/throwing 表达式]:连接点函数(切点函数){ 
函数体 
}
 after():recordLog(){
     System.out.println("sayHello方法执行后记录日志");
 }

通知里定义了连接点函数的具体实现,到这里跟要切入的目标函数就没有关系了