AOP - 面向切面编程

AOP - 面向切面编程
AOP封装了 jdk动态代理 和 cglib动态代理。
AOP解决的问题:不修改目标类源代码的情况下,对其功能进行增强。
一、连接点(joinpoint):指一个目标类中的一个目标方法(需要增强功能的方法)。
二、切点(pointcut):指连接点的集合,也就是多个目标方法。 使用切点表达式匹配多个方法:
三、通知(advice):就是要增强的功能。
AOP一共有5种通知的类型:
1、前置通知(before advice): 在目标方法前面增强功能
2、后置返回通知(after returning advice): 在目标方法return之后增强功能。
3、后置异常通知(after throwing advice): 在目标方法抛异常之后增强功。
4、后置最终通知(after advice): 一定会在目标方法之后增强功能。 5、环绕通知(around advice): 在目标方法前后都增强功能,包围目标方法。
四、切面(aspect):切面 = 切点 + 通知
五、织入:把切面应用到目标对象上的操作。
六、目标对象:需要增强功能的方法所在的类的对象。
七、代理对象:把切面织入到目标对象上,使用jdk或cglib动态代理生成的对象。

二、五种通知的使用
1、beforeadvice前置通知:在目标方法之前增强功能。如果前置通知报错,目标方法将不能执行。
2、after returning advice后置返回通知:在目标方法之后增强功能。如果目标方法报错,后置返回通知将不能执行。
3、after throwing advice后置异常通知:在目标方法抛异常后增强功能。如果目标方法不抛异常,就不增强功能。
4、after (finally) advice后置最终通知:一定会在目标方法之后增强功能。不管抛不抛异常。
5、around advice环绕通知:在目标方法前后都增强功能。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值