00:00
各位,在刚才的内容中呢,我们讲到了AOP的基本概念以及AOP的底层原理,另外咱们写了一段JDK的动态代理代码,然后咱们下面继续来学习a op,咱下面要讲什么呢?给大家说一下a op操作中一些相关的术语。什么叫术语呢?就是一些比较专业的说法,举个例子啊,比如大家注意我们都知道一个东西叫发动机,应该都知道,而发动机的术语叫什么?是不是叫引擎了,但是意思都一样,引擎指的就是发动机,而咱现在就给大家介绍一下a op操作中一些相关的术语,就是一些专业的说法,为咱一会儿通过spring进行配置做准备,下面给各位介绍一下术语。在a op的术语中呢,有很多的术语,我这里边给大家说几个最主要的术语,是咱一会儿要用到的那种,那我们来说一下啊,首先我先把几个重要的术语列出来,但是它有很多,我这里说的是最主要的第一个术语,它叫做。
01:14
连接点。我先写出来,然后第二个术语,它叫做。切入点。第三部分它叫什么呢?叫做通知,或者说也可以叫增强。然后除了这个之外,第四部分它叫做切面。这是我要给各位介绍的四个主要的术语,这四个咱后面在配置中会直接用到,那四个术语分别都是什么,咱们一个来看一下啊,首先看第一个叫连接点,那什么叫连接点,我现在给各位画个图,咱在图上把四个主要术语给各位详细说一下,那我来画一下啊。
02:00
关于。A op中操作的术语,那怎么画呢?给各位举个例子,比如现在咱说的a op嘛,它是不改变源代码的情况下可以增强类中的方法,也就说它的底层用到了动态代理。假如说我现在有一个类,比如这个类我就叫做。User,比如说在user里边呢,有它最基本的就是增删改查方法,假如在里边我写上四个方法,比如第一个是一个添加方法,然后第二个,比如是一个修改方法,第三个是一个查询的方法,比如我叫select,最后一个是一个删除的方法。假如说现在在我这个user类中有四个方法,分别是它们的增删改达方法,那它下面用这个来说明a op中四个重要的术语分别什么意思,那我来解释一下啊,首先我们看第一个术语,刚才提到第一个术语它叫做连接点。
03:06
那什么叫连接点呢?给大家强调,各位看啊,我现在user类中有几个方法。是不是有四个方法,而这类中这四个方法是不是都可以被增强,就是现在我把A的方法加一些功能,把update,把light,把delete,这些方法是都可以被增强,所以我强调在一个类里边哪些方法可以被增强,那这些方法就称为什么,就叫连接点。比如现在我这预算类中四个方法都可以被增强,那四个方法就称为什么,就叫做连接点。这是里边的第一个术语,给大家说一下写的位置,就你类里边的哪些方法可以背?增强那这些方法。又称,为什么又叫连接点?这是咱们说的第一个术语,就是现在我就是那种a update select delete,这四个方法都可以增强,所以这些方法就叫做连接点。
04:11
这是咱们说的第一个术语,各位给他知道,就是你可以背增强方法。然后这个说完之后,咱再看里边的第二个术语。叫什么叫做切入点,那我说一下什么意思,给各位角这位置第二个叫。切入点。那什么叫切入点呢?给各位描述啊,就是我现在啊,大家看在我这个那里边是不是有四个方法,假如现在我在增强过程中,我只增强里边的A的方法,或者说我只增强里边的A的和DNA的方法,这叫切入点,也就是说你实际真正被增强的方法就称为切入点。就是实地背。真正增强的方法,它就称为切入点。
05:05
那这么说有同学可能还不理解,我说的更通俗点啊,大家看我现在类中是不是有四个方法,四个方法理论上是不是都可以被增强?假如我现在操作中,我只把A的增强了,其他三个方法没有增强,当然我四个也可以都被增强,那这里强调你真正增强哪个方法就称为切入点。我四个方法理论上都能增强,但是我只增强A的方法,或者我只增强A的update的方法,这就叫切入点,实际被真正增强的方法就称为切入点。这是里边的第二个术语,各位法律知道,就类中有多个方法,但我只增强某几个方法,你真正被增强方法称为切入点。这是第二个术语,然后咱们再看第三个术语。叫什么叫通知,或者说也可以说叫增强,那我说一下什么意思啊,给大家也是小的位置,咱看下一个术语就是第三个。
06:07
它叫通知。或者说也可以叫增强。那这是什么意思呢?给各位强调啊,比如说我现在啊,我想做件事情,我想增强user类中的A的方法,我想在A的方法执行之后,然后做一些其他操作,那你注意你这个真正被增强的部分就叫通知。写一下就是我们。实际增强的那个逻辑的部分就称为通知,假如我现在我在添加之后,我向表中记录一下我这个操作的日志,这操作日日部分就叫做通知,或者说也可以叫增强,这个啊是咱们说的这么一个描述。或者说再举个例子,就是咱们刚才说那个原理中提到的,咱说那个登录是不是有个基本功能,然后在登录过程中是不是要加上一个权限判断,而这个权限判断就是什么?就一个通知,就是你实际增加的那个部分,逻辑就叫通知或者增强,比如咱说那个权限。
07:18
这么一个判断,它就叫通知,这个啊是咱说的第三个术语,称为通知或者说增强。这个各位记住啊,然后这个说完之后,咱进一步描述啊,就是在我们这里边啊,通知其实它有很多种类型,我写第二句话。通知有多种类型。那它有什么类型呢?给大家强调,我先列出来,然后分别解释,在这里边通知它主要有这么五种类型,对,是五种啊,首先第一种通知叫做。前置通知,第二个叫后置通知,还有第三个,它叫这个环绕通知。
08:05
第四个叫做异常通知,还有最后一个叫最终通知,所以里边主要有这么五种通知,各位把这给他知道,然后五种通知是什么,给各位先做个解释,咱一会儿通过例子都会具体演示出来,这些效果是什么样的啊,您知道这个概念上的东西,那咱们来说一遍啊,第一个前置什么意思?比如我现在想用想增强user中的A的方法,那前置就表示A的方法之前这个会执行,后置好理解方法之后执行环绕什么意思,在这个方法的前面和后面都做执行异常什么意思?比如说现在增强A的方法,当A的方法出现了异常,来回执行,还有一个叫最终。最终什么意思呢?就类似于咱们Java代码中那个try catch finally。
09:02
Finally各位应该知道我写一下啊。Finally不管有没有异常是都会执行,最终通知跟它类似,因为咱们如果说有异常,那我这里边的后置可能他就不执行了,但是分理这个也永远会执行,这叫最终通知,所以这是我们的第三个术语,它就叫通知或者增强通知,有五种类型,前知,后置,环绕,异常,最终这个啊,咱说的术语。然后除了这个之外,还有最后一个术语,这术语叫做切面。那给大家说一下什么叫切面?我写到这个位置啊,第四个。就这里。它叫做切面啊,注意不是咱吃那个切面啊,跟那个没关系啊,它叫切面,然后切面指的是什么呢?我强调啊,其实切面这过程中啊,他是做了一个动作,是一个动作上一个操作,那他做了什么动作呢?给大家说明,他就是把我们的通知应用到切入点的过程,就叫做切面。
10:08
把你的通知应用到。切入点的过程就称为这个通知。比如说举个例子,咱现在把这个权限判断加到你的这个登录方法的过程,它就叫做切面,是一个过程。比如现在按照我们之前的例子,咱登录有一个基本流程,然后我在登录之后想给它加一个权限判断,那你把这全判断加到登录方法的过程就叫做切面,它指的是一个动作。说的具体点,就是把你的通知应用到切入点的这么一个过程。这个啊,是我们说的第四个术语,所以咱们现在就把a op中四个最常见的术语给各位就介绍完了,我再重复一遍,要各位把它记住,因为咱们一会儿在此文里边做这个A操作中要用到这四个术语。
11:05
第一个术语连接点就是你类中哪些方法可以被增强,第二个切入点就是咱们实际增强这个方法,第三个通知就是你增强的部分,比如咱们登录加权判断,权限判断就是通知,通知有五种类型,前置、后置、环绕、异常,最终这咱们一会儿都会演示。最后一个叫切面,是个动作,就是把通知应用到切入点的过程,也就说咱们在登录过程中加一个全判断,这个就叫切面。所以这是关于a op操作中四个最常用的术语,各位把这个要知道,我在图上给大家一个一个都解释出来了。
我来说两句