00:00
我把这个过程吧,我再写一遍,大家好像还不太熟,新建一个账号工程,起个名润三。第一个干什么呀,找包对吧?哎,这个时候你就可以直接来这个require,然后省事都复制过来,就是我们用的spring的下包,最常用的包括springvc back都来这个里边呢,Ctrl a吧,啊CTRLC这样最快。就不一个一个选了,加到plus下,你说为啥说加到加到class pass下,否则这个包跟当今项目没有关系吧,懂懂吧,你不像放在那个外一会样有关系,这没关系,你知道吧,有关系你这样是不进来了,要不的话你你不好用,新建一个spring配文件application,下一步下一步finish,然后呢,刚才这里边部分代码呀,我复制一下,我只我只复制一小部分啊,都不要,就像刚才大家大家写的时候也一样是吧,那这个接口和这个接口实现你是不是可以复制啊,这个玩意儿大家都都能会写,当然你可以把这个声明。
01:36
这个去掉,然后我来自个写,就是说并不是每一行代码都需要你写懂我的意思的,下面的话呢,我们来写,写什么呢?第一个啊叫自动扫描的包配置自动扫描的包contact没进来啊,点spaces contact,还有还需要搞a op吧行进来来来,Component com点没有搞定好了,这个时候写完之后的话呢,我就可以写上一个艾啊这段啥呀,是不是接口啊,你不能接口上面你你你不能加他,你加的他也进不来,他无法去创建它的这个实例,Component写个名吧啊ari。
02:36
音不要写吧,好了,这个时候的话呢,就可你没方法就可以用了,嗯,Application contact等于利用class application这个复制过来,然后呢,搞一个等于等于BDx.GAB。
03:11
当然把这个一加,我是不是就可以去掉方法了,In result等于A来一二,结果呢,三对大家数是的一的,还是这个十以内的是吧,现在我们算个100以上的,1000除以200等于这么强啊,我感觉我这叫一帮天才啊,来找一个试试。
04:00
啊,看很强大啊,一个三一个五,我们同学都答对了来下面的话呢,当目前为止呢,跟A线没关系,我们希望什么呢?我们希望在这个接口实现类的每一个方法开始之前来一句话,我再说一遍啊,我希望在这个接口每一个实现内的方法开始之前再用好了,那于是呢,我就把这个要多余干这个事,我放在一个类里边做日志嘛,叫loging,哎,叫日志切面,好了,我想干的事是public VO before my,在每一个写一下吧。
05:00
在什么呢?在这个接口,在这个接口的一个实现类的每一个方法开始之前啊,执行一段代码,那我就想干这个事,一段代码好了,这样干这个事,于是的话呢,我先写上out。等于是首先的话呢,这个假如叫切面,切面一定是在LC容器里边,然后呢,切面是一个特殊的B加一个什么注解啊as,然后再告他哦,我要在什么什么方法开始之前执行exq是要执行过来,然后是public,它叫什么呀。
06:13
就修饰符in叫返回值,这个叫接口吧,它的所有方法参数参数任意写完了,光这样的话还不行。还不行,这个时候玩花里边我们可以打一个他,嗯,这个时候你看到啊,这个的话呢,还是这个complete,我们希望这个时候它是一个代理对象吧,你增强啊,那于是需要加一个配置,配置自动为S为匹配S接不解的Java类生成代理这项,于是这个叫a op s proxy,再看。
07:19
再看这就不一样了,你看理了,而且这个就好了,那你回你回头来看,我对于这个石现在而言,他是不是不知不觉,他是不是完全都感觉不到啊,是吧,但是这个服务已经到达了,我们认为这是服务的最高境界,诶,我完全没有感知,这个时候这件事啊,已经完成了,这是服务的最高境界,所以说学习的最高境界是不学,谈恋爱的最高境界是不谈,慢慢去体会叫什么体会其中的这个含义,好色即是空,空即色,能懂吗?不懂的话可否跟我交流,我告诉你什么意思来。那这个的话呢,我们觉得还。
08:20
完备,我还需要干什么呀?哎,我还需要里边放一个连接点,我想知道连接细节,于是写一个string的master name,等于方点get signat.get name,我还可以知道参数啊,等于端方的点get method,谁呢?Method name begins with加raise.as于是带走,你看看就可以了,这就是我们希望的前,好了,这叫前置通知,于是的话再来一个叫后置通知up method。好,后置通知这个是一样的单。
09:20
过来把这个改成叫好了,也写一个样,CTR是O转换,嗯,下来。啊什么什么,嗯,这块的话呢,我们需要注意一下,那叫什么后置通知,在方法执行之后,在方法执行之后啊,执行杠代码,然后加一句号,无论该方法是否出现异常,好了看看。
10:14
你看啊,都执行,同学说你这个这个这有什么关系吗?有关系啊,过来你看我这块我可以除以零吧,我除以零怎么了,我除以零这行是不是有异常了呀,你再找你,你再看啊,哎呀,我是不是也一样执行啊,叫后置通知好了,那同学说我有一些通知的话呢,是在方法正常执行完之后再执行的,这叫返回通知。报一张叫返回通知转换好了,这个的话呢,不一样了,嗯,With返回通知吗。
11:12
After after,好了,叫返回通知,诶,在方法正常结束后执行的,这叫返回通知,于是于是有一个就是什么呀,返回通知是可以访问到方法的返回值的。怎么反怎么搞呢,这么搞,这可写在Y6里边,然后逗号过来,大家看是不是啊,范围值等于我叫result,于是这块里写一个。
12:20
看着哈,往前翻,大家看第一个返回是不是三呢?第二个出异常了吧,是不是是不是没有那个返回啊,哎,我改一下,我改成十,哎看看见了吗?这这是后置吧,这是返回吧,这叫返回通置,好的好的,咱们回到这个里边来看我们这个动态代理,大家往这看,这是不是要执行目标方法呀,执行目标方法是不是可能会出异常了,可能异了在开,于是往前看啊,方法开始执行之前的,这叫前置控制方法,正常返回的叫返回控制,看见了吧。
13:20
返回通知可以访问到方法的返回值,可以访问到方法的返回值,而后边这个呢,叫后置通知,那么因为方法可能会出异常,所以访问不到方法的返回值,那接下来还有什么呀?这里边或者里边叫异常,我可能出异常啊,这点是可以访问到方法出现的异常,来过来吧,Public word of throw throw叫什么叫异常通知,哎呀。
14:20
还得复制一下好。就那这块,你看我这么多复制的话,你会怎么想,你会不会想我这个,我刚才我复制这玩意儿应该可以被重用啊,想法好了,我这里边的话,我们说了我们可以访问到异常,于是有一个叫draw,等于ex好的好的,于是你写上一个一个section,好吧,这point是一定是可以访问的point汤来。
15:09
The method exception加ex好,这个时候呢,你回来回来啊,我这么要是整的话,是不是没出异常啊,它不能执行吧,再出异常的时候,你看着过来,你看看看看看看看它是吧,出异常了,后尾是异常的message没问题,这就是叫异常通气这块啊有点意思,有什么意思呢?这比方说就是异常类型吧,我写一个,那这也可以吧。
16:02
就是说这样写的话,就是说只有在出空指针异常的时候,我才会执行,那我知的是什么异常啊,输数学异常啊,这个时候他就不会执行,没执行相当于什么呢?相当于这个里边你看有一个异常吧,你看我写一个控制针异常,然后这块我搞的是一个数学异常,那这个会不会被执行啊,会不会啊,不会吧,到底是一样来写写吧,说再方法出现异常时中标缓缓出现异常时会执行啊代码,而且哎呀有意思啊,有什么意思啊,可以访问。
17:02
到异常对象气可以指定。在出现特定异常时,在执行通知代码什么指定呢?这块指定这个ES,这无所谓,你交E也可以是吧,这个那他就交E呗,但是这块我可以指定什么时候执行吧,好了调异常通知往这看,前置返回异常,后置看懂了没有,好了,这样的话呢,我们把通知里边的几个,我们一共说是有五个通知,我们讲了四个,再过来瞧一下啊,分别是前置后置返回异常,还有一个换绕。
18:10
把这个说完,魂绕,你觉得这个魂绕是什么意思啊,你一听魂绕这个词的话,你想到什么?我我一听火绕这个字,我就我就想到卫星绕着地球转环绕,那环绕通知是这些通知里边功能最强的,但是我们说哈,这个功能最强的呀,并不意味着它是常用的,能理解这个意思吧,功能最强的并不意味着它是常用的,好,我们来试一下这个环绕通讯,哎呀,过来吧,环绕通知来个叫around,叫混转通知,于是一个啊,直接没有啥玩,直接这就可以了,叫。
19:10
通知,把这个复制一下,环绕通知比起来前边的会有什么呢?你看看看,这个是给包起来了,我跟大家讲,环绕通知就相当于这个动态代理,那环绕通知有一个特点,就是说这里边儿我们得传一个参数叫proceed。好了,这个有一个特点,说不扰通知,环保通知需要携带这个类型的开。被告类型的,其中说环绕通知环绕。
20:07
通知类似于动态爱理的全过程,什么意思呢?就是说这个参数可以决定是否执行目标方法,这个这个类型的参数可以决定是否执行目标方法,这个事很严重啊,评不管他。啊键括绕中值必须有返回值线还好通值必须有返回值,然后返回值D为为目标方法的返回值,好了,你看这里边来,你看这里边我这个方法是不是也得有一个返回值啊,返回是什么呀?是不是执行个方法之后,那返回值啊好了,那我于是呢,我写一句话,我那么多,然后我恨啊写完了,那我为了这个根区分的话,展时我先去掉CTRX好。
21:38
好,再来control X找一个,大家看看around around是不执行的,返回值是不都是100,看到这一块的话,你是不是觉得跟这个是不是几乎一样,我们开始做的时候,我们不就这么试的吗?我返回了一个零,然后打了一句话嘛,好了,于是过来来执行纵标方法,过来看来执行目标方怎么执行呢?P接P接d.process process,这叫什么叫执行目标方法,然后它会有一个异常。
22:27
上边搞一个返回值,有一个返回值。于是过来来就是什么呀,叫前置。组,然后写吧,Method等于一接地点盖signator,点盖name the method。
23:07
什么呀,Method加begin with直接来了哈,加点at list p接地点get us。好了,这结果来。有串儿啊啥串啊,再来呀呀呀,我返回是没返回吗?Without有我有一个异常通知,异常通知我就可能去掉,就改成十,对我们来说再来,大家看这不是前置,这是不是有了,然后呢,再来呗,回来咋的呀。
24:11
什么the method end with嘴造子吧,是不是后通知啊?后置是这个意思吧,这就是后置中之还带。你怕他没了啊,来好了,这里边的呢,叫异常通知吧,你看这个中态代理是不是一样啊,这里边的用的方法好吧,于是你写一个out,对methods exception exception加一版,你看这里边这个是不是我可以不分任何异常啊,后边有一个叫后置通知,怎么写she method结束得了,Method。
25:31
My name好了,那于是真出异常的话怎么办呢?其实也不怎么办,一会再看就出异常了,你就别说别的了,你看开始前置返回后置,哎,整个异常的除个零。
26:01
嗯,出个零不是第二段也有,为什么会出出这么一个异常跟来说呀,因为怎么了,因为我这块这个特点啊,回来你看过来过来瞧我是不把异常抓出来了,我异常抓住之后的话,我这块这个返回值吧,我这默认值这不闹,然后这个闹要转化成一个in,你转不了了,虽然说我这块我非常简单,我就抛去,然后time。哥,这个时候就没事了,因为这个异常抛出行看到了吧,就跟我们前面讲的就一样了,行,这就叫环绕通知,这个环绕通知就是说我中间要通一个方法嘛,所以说前置后置异常,嗯,这个这个异前置就返回啊,错了,返回叫前置返回,异常后置都可以提,这个是嗯最强的,但并不等于它是最常用的,大家对这个的话呢,做一个了解就可以。
27:22
好了,那这块的话呢,关于整个通知我们就说完了,那。
我来说两句