Spring AOP概念的初步理解

AOP

AOP(aspect Oriented Programming) 是一种设计思想,是软件设计领域中的面向切面编程,

他是面向对象的一种补充和完善,它通过预编译,和运行期动态代理方式实现在不同的。<br>

面向切面编程

面向切面编程是对面向对象编程(OOP)的一个完善和补充,AOP横向抽取.OOP纵向继承<br>

横切关注点

从每个方法中抽取出来的同一类非核心业务:例如日志功能.

那么一个方法可以抽取多个横切关注点<br>

切面

封装通知方法的类叫切面.

通知

每一个横切关注点上要做的事情都需要写一个方法来实现,

这样的方法叫**通知方法**。即非核心业务封装的方法.!!!说白了就是封装非核心业务代码的方法<br>

1. 前置通知:在被代理的目标方法前执行。(目标方法业务之前需要执行的代码)

2. 返回通知:在被代理的目标方法成功结束后执行。即核心业务方法执行完后的横切关注点<br>

3. 异常通知:在被代理的目标方法出现异常结束后执行,即业务出现异常后执行的横切关注点。<br>

4. 后置通知: 在被代理的目标方法最终结束后执行,即finally中执行的横切关注点。

5. 环绕通知:相当于上面四种通知<br><br>

目标

即被代理的目标对象。就是要抽取非核心业务代码的对象。<br>

代理模式:属于结构型模式,,作用:提供了一个代理类来增强目标对象。将核心功能抽取出来,和非核心业务分离。

代理

向目标对象应用通知方法之后创建的代理对象。不需要自己创建代理对象,工厂会生成代理<br>

连接点

但是切入点是一个纯逻辑概念,并无代码实现

就是抽取横切关注点的位置,即横切关注点是从哪里抽取出来的,可以理解为坐标。<br>

切入点

每个类的方法都包括多个连接点, 切入点是一个表达式,是一个代码实现的一个概念。

是对横向关注点抽出来到代理对象的一个落地实现。<br>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@日与夜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值