发表于: 2017-11-06 23:04:41

1 740


今天完成的事情:

准备小课堂

1.昨天日报说的几个方法的执行顺序是不对的

说明:三个增强类依次执行


结果:


改变增强类执行顺序:


结果:


可见Around和Before、AfterRunning之间,是谁先执行,输出结果就是谁优先


2.学会了使用注解方式创建、使用切面

分为三步:

①将目标类和增强类放到IOC容器中

使用@Component注解


②Spring上下文文件中放入切面自动代理


③编写增强逻辑和切面的方法与匹配


说明:使用切面Before的方法,匹配任意返回类型cn包下所有的子孙包中带有大写“T”的方法,并且方法中要有一个String的入参+另一个任意类型的入参


增强逻辑为使用日志记录类名,方法名,参数的名字以及参数的值


匹配效果展示:

匹配到两个相应的方法


执行效果展示:

目标类的方法:

测试类:

测试结果:


将方法的类名、方法名、入参名与值都打印了出来

这个逻辑是听了师兄说如果严谨的话,要把参数和返回结果都打印出来写出来的,

用Around或AfterRunning的话,可以连return的结果也可以打印出来的

并且不需要使用切面的时候,将配置文件中的切面自动代理去掉,切面也不再执行,不会再消耗资源

一次写成,到处使用,好强


明天计划的事情:

讲小课堂,看完老大的live,不能再拖了


遇到的问题:

自己已经全部学会了,但是不知道从何说起。内容太多了,要讲哪一部分才能让观众可以不疑惑,而且对切面有一个较为全面的理解呢?切面匹配这种有点复杂的逻辑,要怎么讲才好?

有点头疼


收获:

对Spring AOP有了一个较为全面的理解,学会使用@Aspect注解方式生成使用切面


进度:

讲小课堂、听老大live



返回列表 返回列表
评论

    分享到