*阿炮的Spring之旅003站*- 走进Spring的核心思想AOP(面向切面编程)

每一个框架都自己核心思想,现在我就记录一下Spring的核心思想AOP

代理

简述

代理模式就是通过提供一个代理类,让我们调用目标方法的时候,不直接在目标方法里进行调用附加方法,而是通过代理类间接的调用。让不属于核心逻辑的代码从目标方法中剥离出来。

这样的好处就是让附加方法有利于统一维护。

静态代理

优点:可以在不修改目标对象的前提下扩展目标对象的功能。
缺点:冗余:代理对象要实现与目标对象一致的接口,会产生过多的代理类。不易维护:一旦接口增加方法,目标对象和代理对象都要进行修改、

动态代理

方式:
接口:JDK动态代理。
继承:Cglib、Javassist动态代理。

就是利用反射机制,进行实现的。方便,便于进行维护。

AOP

概述

AOP: 面向切面编程,利用AOP可以对业务逻辑的各个部分进行分离,让业务逻辑部分之间的耦合度降低。

作用

  1. 简化代码:将固定位置的重复代码抽取出来。
  2. 代码增强:将特定的功能封装起来,哪里需要便织入哪里。

AOP的了解语句

横切关注点

从每个方法中抽取出来的同一类的非核心业务。
附加方法中有10个附加功能,就有10个横切关注点。

通知

每一个横切关注点的实现叫做 通知

  • 前置通知:在被代理的目标方法前执行
  • 返回通知:在被代理的目标方法成功结束后执行
  • 异常通知:在被代理的目标方法异常结束后执行
  • 后置通知:在被代理的目标方法最终结束后执行
  • 环绕通知:使用try-catch-finally结构围绕整个被代理的目标方法

切面

封装通知方法的类

目标

被代理的目标对象

代理

向目标对象加上通知后创建的代理对象

连接点

程序是从上到下执行的,我们的增强代码时横切进去的,这个交汇点就是连接点

切入点

定位连接点的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

史上最菜的山炮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值