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方法执行后记录日志");
 }

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

转载于:https://blog.51cto.com/7981477/2345853

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值