AOP基础

目录

一、AOP是什么

二、AOP常用于哪些场景及原理

三、AOP中的相关概念


一、AOP是什么

       原来写代码呢,都是通过继承来代码重用,但是增加了许多重复代码。AOP又叫做面向切面编程。aop的作用就是在不修改其他代码的情况下达到并进行增强(不修改源码的基础上进行其他操作),它的优势显而易见:减少了重复代码,提高开发效率,维护更加方便

二、AOP常用于哪些场景及原理

AOP经常用于 操作日志的记录、用户的权限验证、全局的异常处理、缓存等

AOP的实现原理就是JDK动态代理

三、AOP中的相关概念

1、连接点(JoinPoint)

        连接点是指程序执行过程中的一些点,比如方法调用,异常处理等。在 Spring AOP 中,仅支持方法级别的连接点。通俗来说就是能够被拦截的地方,每个成员方法都可以称之为连接点。

2、切入点(Pointcut)

        切入点是指我们要对那些joinpoint进行拦截的定义,也就是被增强的连接点就是切入点。

3、通知(Advice)

        通知是指拦截到joinpoint之后所要做的事情(增强的代码)就是通知。通知分为前置通知、后置通知、异常通知、最终通知、环绕通知。

        (1)前置通知(Before Advice)

                就是在某个连接点前面执行的通知;在方法执行前执行

        (2)后置通知(After Advice)

                在某个连接点后面执行的通知;在方法执行后执行

        (3)返回后通知(After Return Advice)

                 在某个连接点正常运行后执行(如果抛出异常则不执行

        (4)环绕通知(Around Advice)

                包围某个连接点的通知;在方法之前和之后执行

        (5)异常通知(After Throwing Advice)

               在执行核心关注点过程中,如果抛出异常则会执行

        4、目标对象(Target)

                代理的目标对象,即增强方法所在的类

        5、织入(Weaving)

                将切面应用到目标对象并导致代理对象创建的过程,或者说把增强用到类的过程

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

herrybody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值