Spring的AOP总结
Posted ldddd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring的AOP总结相关的知识,希望对你有一定的参考价值。
1.AOP的概念
AOP就是面向切面编程。就是把我们程序重复的代码(日志和事务处理)抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们的已有方法进行增强。从而可以减少重复代码,提高开发效率,方便维护。
2.动态代理的实现方式
基于接口的动态代理(jdk动态代理):采用Java自带的API实现
基于子类的动态代理(cglib动态代理):采用第三方API实现
jdk动态代理代理的类必须至少实现一个接口,cglib代理的类不需要,但是cglib代理的类不能被final修饰。
3.AOP相关术语
Target(目标对象):代理的目标对象,被增强的对象。
Joint Point(连接点):被增强对象的所有方法。
Point cut(切入点):目标对象被增强的方法。
Advice(通知):拦截到Joint Point之后要做的事情,也就是要增强的代码。
Weaving(织入):将通知应用到目标对象的过程。
Aspect(切面):切入点+通知。
4.通知的类型
1.前置通知:目标对象执行前执行功能增强。
2.后置通知:目标对象执行后执行功能增强。
3.异常通知:目标对象执行过程中出现异常时执行功能增强。
4.最终通知:目标对象执行过程无论是否有异常,都会执行功能增强。
5.环绕通知:目标对象的方法执行前后都会执行功能增强代码,中间必须有切点的执行。
以上是关于Spring的AOP总结的主要内容,如果未能解决你的问题,请参考以下文章