00:00
在刚才的内容中呢,我们完成了a op的基本概念的讲解,包括底层原理以及a op操作中一些相关的术语,咱把这些理论上的东西都说完了,然后咱们下面开始就在我们的使用框架中完成a op的具体操作,那咱们看怎么做,首先呢,我们先做一些就是准备工作,然后咱们开始做的事情就是关于a op的操作。咱先做一些准备工作,那我们在此文里边呢,如何实现a op的操作呢?给各位来说一下,在此文中呢,要实现a op的操作有多种方式,就是多种方式都可以做到,但是咱们一般来讲是居一个东西,这东西叫做space,第一用它来实现L的操作。那我写一下。就是我们在。框架中。
01:00
我们。一般都是基于一个东西叫A。用它来实现针对a op的一些相关的操作,这是我们的做法。这个啊,给大家做个说明,四种框架中一般都是基于我拍的J实现ae操作,那这里挑一个东西叫我拍G,这个东西到底是什么,给各位来做个说明。什么是pad?那给大家做个介绍。我这里强调啊,这里边说到这个叫the拍,其是它本身的并不是词里边的一个组成部分,就是它不是词一部分,它是一个单独的或者一个独立的这么一个a up的一个框架,就是它不需要瑞也能单独来使用,是咱们一般来讲把这个FD和我们的词人框架。
02:02
一起来使用,然后进行a op的这么一个相关的操作,所以这就是什么是一派J,给各位做个说明,我再说一遍啊,A子派DJ呢,本身是一个单独的框架,它不是损一部分,就是可以单独使用,只是我们一般在开发中,为了咱们操作方便,咱们经常按我的pad j和我们的任框架一起用,然后完成操作,因为这样的话会更加方便,所以咱们这里边就是基于了J,然后把这个AOPP操作在我们使框架中给它进完成啊,这是我们一个基本的说明,各位把这个知道。然后这个具体怎么做给大家写一下,就是现在如果说我们要基于这个我pad实现a op的这么一个操作,在这里边有两种主要方式,第一种方式跟咱之前一样,也是基于这个叫做叉L的配置文件方式进行实现,然后第二种方式是基于注解方式。
03:11
进行实现,它里边有两种方式,一种基于配置文件,一种基于注解方式,但是我们在实际中一般我们都使用注解方式实现,因为这种方式会特别方便,这是关于它的方式的一个介绍,各位把这个的知道,所以咱们做了一个说明,然后这个说完之后,咱下面就来具体做一下这个内容,那咱看怎么做,因为现在呢,我们做的是准备工作啊,咱继续往下来完成。然后下面要进行的话,咱们现在能在我们一个工程中,首先第一部分你就需要。在你的项目的工程里边,先引入a op相关的一些依赖,你只有引入依赖之后才能完成里边内容,那咱现在把这依赖给各位引入一下,然后引入什么依赖给大家说一下啊,首先里边的第一部分肯定有咱们之前这些依赖,然后之前依赖中啊,有一个叫A,然后它除了op之外还有一个依赖叫做我派J。
04:16
那各位找一下啊,在里边我们需要第一个依赖这个东西叫APAJ,那我现在把这依赖咱先复制到我这里边来啊,一会咱里头统一引入。这是蛾子派的J这个需要,然后需要它之外还需要什么呢?因为现在我提到蛾子派的J本身并不是死的一部分,所以还需要它的循环依赖,那我在这里边也听出来了,就是里边的这么几个依赖啊,包括咱们把这三个依赖也给他复制到里边来。把这个我们做复制,这都是瑞和我PAJ它相关的这个依赖,然后把它复制之后,现在咱们把它就引入到我们的项目中,我点那加号给它引入一下啊。
05:04
在我们这个项目里边有这个pad j,还有a op相关的依赖,有这三个,然后有一个pad。把这个引入,所以这样的话我们就完成了里边相关的依赖,主要有这么几个依赖,这些依赖我在资料中给各位都听出来了,各位给他直接复制比容就可以了啊,这是第三部分一个准备工作,因为咱们后面需要用到里面内容,然后这个做到之后,我们看第四部分,就是现在把E都引入了,那下面做的大家可能在里边啊,做这个相应的配置就可以了。但是我们在配置过程中呢,咱需要用到一个东西,什么东西呢?它就叫做切入点的这个表达式,所以我先给大家说一下这个表达式,然后最后再来做这个配置,因为现在咱们讲准备工作。那咱看这词啊,切入点,刚才咱们讲过什么叫切入点,各位可以跟我一起回顾一下什么叫切入点,是不是咱们实际要增强这个方法,比如我那中有十个方法,可能我只增强某一个方法,这叫切入点,而现在就是用这个切入点有一种表达式,综合表达式能让他知道我现在要增强类中的某个方法,所以这位置咱先学一下这个表达式该怎么去做。
06:26
啊,那我写一下啊,角的位置第一句话。切入点表达式的作用是什么呢?就是现在咱们可以知道。我们要对哪个类里边的哪个方法进行这么一个增强,这是用切入点表达式来做到,这各位知道,然后这个表达式该怎么写,给大家写一下,第二部分就是它这个语法的一个。结构,我把结构写出来啊,首先第一部分它有一个固定一个单词叫execution。
07:09
这是一个固定单词,然后在里边呢,有它的一个基本结构,结构是什么,我写下啊,首先里边有第一部分。低温是什么呢?它叫做权限修饰符。什么叫全限修饰符呢?这各位应该都知道,比如咱起个类,可是public,可是private,这叫全限修饰符,然后第二部分是什么呢?是你里边这个叫返回类型。比如说我现在反一个in类型,反应成布尔类型,如果没有反应类型,我写个为,这是第二部分,然后第三部分是什么呢?是你这个就是类的一个全路径,或者说全类名,就是加上包,加上类的这个名称,然后后面是什么呢?是你这里边的方法名称。
08:02
这是这部分,然后除了差之外,最后一部分我们是加个括号,里边是什么呢?是你这个参数的。列表,所以这就是切入点表达式的这么一构基本结构,然后结构中咱看一下啊,就是加一个固定execution,第一个权限修饰符,就是你是public还是private,第二个返类型,你是in还是wait,第三个全类名,比如说现在我想增强,我这个就是user Du类中的方法,那user Du这个类是不是这个包,加上类名字,然后里边的方法是不是A的方法,所以这就叫全类名,包括你发名字,我方法中可以有参数,后面加上你的参数列表,就你有哪些参数,这是一个最基本的语法结构。各位把这知道,然后这个说完之后,咱下面给各位举这么几个例子,咱通过几个例子把这个语法结构做一个更详细的说明,咱就举这么三个例子啊来说明一下。首先举例一。
09:07
比如举个例子啊,假如现在呢,我想就是对我这个包啊,就比如我这包叫com.at。硅谷点上,比如说里边有一个叫。啊,点上Du,然后里边有一个叫不。Du,比如现在我想对这个类里边那个A的方法进行这么一个增强,那就写一下这个切入点表达式,看他怎么来做啊,给各位写一下啊,首先第一个固定的execution,然后在里边第一个参数叫权限修饰符,这参数你可以写一个。Public可以写private等等,但是咱一般为了方便写什么呢?我们经常写的一个叫星号,星号表示任意的修饰符,就是你是private public都可以啊,咱写个星号,然后写完星号之后,第二部分类型,这可以省略,可以不写,然后咱后面写什么你类的全类名,他的全类名是不是这个。
10:11
com.at硅谷do book do,这是全类名,然后加上你的方法,因为咱要对这个A的方法做增强,那我怎么做,点上一个A的,然后后面加个括号,括号里边加你的参数列表,参数列表中来用两个点来代替表示方法中的参数,这样的话咱们把这个就完成了,这就一个切要点表达式,它就表示对这个不可Du中的A的方法做增强啊,然后咱星号表示。所有的修饰符,注意这中间有个空格。这个啊是咱们写的第一个距离,各位把这个给他知道。然后这个选完之后呢,比如下面啊,我再举个例子。举个什么例子呢?大小这位置啊。
11:00
比如现在我来一个举例二。第二例子,比如这么做啊,我想对这个那里边怎么样,就是它的所有的方法啊,注意所有的方法。然后进行增强,刚才咱是不是只增强A的方法,现在我想对所有方向进行增强,那怎么做?给各位写一下啊,跟上面差不多,你看啊,这里边第一个修饰符,第二个选类名,这是报上名字,我刚才是A的,现在我是所有方法,所以加个什么。注意是不是加个星号啊,它表示对类中的所有方法进行增强,所以我们现在这么来做啊,这是第二个例子,咱实际中经常这么来做,然后我再举最后一个例子,就是咱这么做啊,比如我现在等多件事情。我想怎么做呢,我想就是。对,我这个com.at硅谷点do这个包里边的所有类。
12:00
包括这个类里边的所有方法都进行增强,就是包里面的所有类所有方法进行增强,那这怎么做?我觉得各位同学通过上面两个例子,这个你应该能给他写出来。啊,那怎么做,咱看一下啊,你看啊,这book Du部分是不是类名称,我们现在是所有类,大家说写什么,是不是写星号,然后类中所有方法是不是星号,后面加上参数列表,这就表示对你类包里边的所有类所有方法做个增强,所以咱们现在就把这个切入点表达式给各位做了一个说明啊,你把这个给定要知道。这个啊,我们把它就完成了,这个这里边我举的三个例子,应该是我们诗句中比较常用例子,包括对某个类中的某个方法,某个类中所有方法和所有类中的所有方法,我们做这个增强,这样的话,咱就把这个我们做a up操作的准备工作就完成了。要各位记住,第一个咱是基于PAJ进行实现,PAJ是一个独立的AP框架,跟S起用做操作,然后它有两种方式,一个基于注解,一个基于配置文件,两种方式咱一会会演示,包括我们要引入相关的依赖,另外就是里边用到一个切入点表达式,按照这种结构,咱们把它举了三个例子做了一个说明,所以这是关于a op的准备工作。
13:29
然后准备工作做完之后呢,咱下面要做什么呢?就我就分别用注解方式和配置文件方式,把这个a op进行这个操作,其实咱要做的就是配置里边的五种类型,前置后置,环绕异常,最终通过注解和配置文件把五种通知类型给各位做配置,咱现在把准备工作我们就完成了。
我来说两句