发表于: 2017-11-06 23:04:41
1 737
今天完成的事情:
准备小课堂
1.昨天日报说的几个方法的执行顺序是不对的
说明:三个增强类依次执行
结果:
改变增强类执行顺序:
结果:
可见Around和Before、AfterRunning之间,是谁先执行,输出结果就是谁优先
2.学会了使用注解方式创建、使用切面
分为三步:
①将目标类和增强类放到IOC容器中
使用@Component注解
②Spring上下文文件中放入切面自动代理
③编写增强逻辑和切面的方法与匹配
说明:使用切面Before的方法,匹配任意返回类型cn包下所有的子孙包中带有大写“T”的方法,并且方法中要有一个String的入参+另一个任意类型的入参
增强逻辑为使用日志记录类名,方法名,参数的名字以及参数的值
匹配效果展示:
匹配到两个相应的方法
执行效果展示:
目标类的方法:
测试类:
测试结果:
将方法的类名、方法名、入参名与值都打印了出来
这个逻辑是听了师兄说如果严谨的话,要把参数和返回结果都打印出来写出来的,
用Around或AfterRunning的话,可以连return的结果也可以打印出来的
并且不需要使用切面的时候,将配置文件中的切面自动代理去掉,切面也不再执行,不会再消耗资源
一次写成,到处使用,好强
明天计划的事情:
讲小课堂,看完老大的live,不能再拖了
遇到的问题:
自己已经全部学会了,但是不知道从何说起。内容太多了,要讲哪一部分才能让观众可以不疑惑,而且对切面有一个较为全面的理解呢?切面匹配这种有点复杂的逻辑,要怎么讲才好?
有点头疼
收获:
对Spring AOP有了一个较为全面的理解,学会使用@Aspect注解方式生成使用切面
进度:
讲小课堂、听老大live
评论