AOP详解--清楚明白

【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
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方法执行后记录日志");
 }

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章