分享:aop 相关术语介绍之 本人通俗易懂大白话介绍

1. 前言

相信这个aop里面的术语或许在我们看文档的时候,比较容易用到。而有些解释又比较的官方,让人看不懂。接下来我就把我对这些术语的理解分享一下。可能有不正确的地方,仅供参考。我不想误人子弟。

2. aop 相关术语介绍

2.1 AOP 的理解

在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,
主要作用是(我自己的话):
对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

2.2 Joinpoint(连接点)

2.2.1 spring 官方文档解释

在这里插入图片描述

2.2.2 个人理解

一般的方法都可以作为连接点,因为他们都可以进行增强。所以连接点,就可以理解为方法。

或许还可以理解成为下面的这些点

  • 目标对象中的方法的前面 (前置增强) (算一个连接点)
  • 目标对象中的方法的后面(后置增强)(算一个连接点)
  • 目标对象中的方法异常中的cash (算一个连接点)

    这些也可以理解为连接点。那么这么以来,一个方法就有好多连接点了😂
    这个也是我个人的一个理解。希望不要误人子弟

在这里插入图片描述

2.3 Pointcut(切入点)

2.3.1 spring 解释

在这里插入图片描述

2.3.2 个人理解

这个切入点啊,就是将要增强的那些方法,也就是说,切入点是连接点的子集

比如我们都知道有切入点表达式,那么符合此表达式的方法,都属于切入点

比如下图

在这里插入图片描述

2.4 Advice(通知/增强)

2.4.1 spring 官方文档解释

在这里插入图片描述

2.4.2 个人理解

都知道有啥 前置通知啊,后置通知啊环绕通知呀。那么这个通知是啥呢。那肯定是目标对象方法执行之后 或者 之前执行的那个方法的逻辑
那么比如说,你有个方法要有事务的支持,那么你在目标对象方法执行的前面,需要进行事务的开启吧?执行完之后需要进行事务的关闭吧?失败了需要有事务的回滚吧?那么这些事务的操作,都跟主要的业务逻辑没啥太大关系。都是我们增强过去的。那么这些事务的操作的增强方法,就相当与通知Advice。 在我们举的这个例子当中,这个开启事务,就是前置通知 因为他在目标对象方法之前执行的。那么显然,关闭事务啥的,我就不解释了。

在这里插入图片描述

2.5 Introduction

2.5.1 spring 官方文档解释

在这里插入图片描述

2.5.2 个人理解

实事求是,没个人理解,谢谢😂。

2.6 Weaving(织入)

2.6.1 spring 官方文档解释

在这里插入图片描述

2.6.2 个人理解

是指把增强的方法逻辑部分 应用 到目标对象来创建新的代理对象的过程。

那么在我们上面的例子中, 就是把开启事务的这个方法逻辑,整合到我们这个主业务逻辑方法[比如updateOrder() 业务方法] 的这个过程, 那么感觉感觉好像生成这个代理对象的过程。那么这个叫织入。不难理解哈。

2.7 Target

用过动态代理,或者知道代理模式的都知道。那就是原本没有增强的那个对象就叫Target。我们都知道这个Aop 是通过代理实现了哈。没啥解释的。

2.8 Proxy

增强之后的代理类。看2.7 节即可知道。

2.9 Aspect

一个抽象的概念。。。。。。仁者见仁吧。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值